PubSub+ Messaging API For C
7.31.0.7
|
Functions | Typedefs | Enumerations | Enumeration Values | Defines |
include file for the Solace Corporation Messaging API for C More...
#include "solClientDeprecated.h"
Data Structures | |
struct | solClient_destination |
A data structure to represent the message destination. More... | |
struct | solClient_field |
The general solClient_field structure is returned by generic accessors to the container. More... | |
struct | solClient_uuid |
A structure used to hold a UUID (Universally Unique Identifier), as per IETF RFC 4122. More... | |
struct | solClient_errorInfo |
The structure used to record more detailed error information for a failed API call. More... | |
struct | solClient_bufInfo |
A structure used to point to a message part and indicate the size of that part (in bytes). More... | |
struct | solClient_session_eventCallbackInfo |
A structure that is returned (as a pointer) for each event in the event callback for a Session. More... | |
struct | solClient_flow_eventCallbackInfo |
A structure that is returned (as a pointer) for each event in the event callback callback for a Flow. More... | |
struct | solClient_log_callbackInfo |
struct | solClient_context_createRegisterFdFuncInfo |
Function information for file descriptor registration and file descriptor unregistration functions. More... | |
struct | solClient_context_createFuncInfo |
Function information for Context creation. More... | |
struct | solClient_session_createRxCallbackFuncInfo |
DEPRECATED. More... | |
struct | solClient_session_createRxMsgCallbackFuncInfo |
Callback information for Session message receive callbacks. More... | |
struct | solClient_session_createEventCallbackFuncInfo |
Callback information for Session event callback. More... | |
struct | solClient_session_rxMsgDispatchFuncInfo |
Callback information for Session message receive dispatch. More... | |
struct | solClient_flow_createRxCallbackFuncInfo |
Callback information for Flow message receive callback. More... | |
struct | solClient_flow_createRxMsgCallbackFuncInfo |
Callback information for Flow message receive callback. More... | |
struct | solClient_flow_rxMsgDispatchFuncInfo |
Callback information for Flow message receive dispatch. More... | |
struct | solClient_flow_createEventCallbackFuncInfo |
Callback information for Flow event callback. More... | |
struct | solClient_session_createFuncInfo |
Function information for Session creation. More... | |
struct | solClient_flow_createFuncInfo |
Function information for Flow creation. More... | |
struct | solClient_version_info |
A structure returned from solClient_version_get that contains version information. More... | |
Macros | |
#define | SOLCLIENT_GLOBAL_PROP_DBQUANTASIZE_0 "GLOBAL_DBQUANTA_SIZE_0" |
The size (in bytes) of data buffers in the pool of smallest buffers. The valid range is > 0. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DBQUANTASIZE_1 "GLOBAL_DBQUANTA_SIZE_1" |
The size (in bytes) of data buffers in the second pool of buffers. The valid range is > 0. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DBQUANTASIZE_2 "GLOBAL_DBQUANTA_SIZE_2" |
The size (in bytes) of data buffers in the third pool of buffers. The valid range is > 0. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DBQUANTASIZE_3 "GLOBAL_DBQUANTA_SIZE_3" |
The size (in bytes) of data buffers in the fourth pool of buffers. The valid range is > 0. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DBQUANTASIZE_4 "GLOBAL_DBQUANTA_SIZE_4" |
The size (in bytes) of data buffers in the fifth (last) pool of buffers. The valid range is > 0. More... | |
#define | SOLCLIENT_GLOBAL_PROP_MAXPOOLMEM "GLOBAL_MAXPOOLMEM" |
The maximum amount of memory (in bytes) the API can save in its data and message pools. Once it reaches this size, data blocks are released back to the heap and are not kept in a API pool. More... | |
#define | SOLCLIENT_GLOBAL_PROP_GSS_KRB_LIB "GLOBAL_GSS_KRB_LIB" |
The GSS Kerberos library name. Default: More... | |
#define | SOLCLIENT_GLOBAL_PROP_IBM_CODESET "GLOBAL_IBM_CODESET" |
Only valid on the z/TPF mainframe. More... | |
#define | SOLCLIENT_GLOBAL_PROP_SSL_LIB "GLOBAL_SSL_LIB" |
The TLS (Transport Layer Security) and SSL (Secure Sockets Layer) library name. Default: More... | |
#define | SOLCLIENT_GLOBAL_PROP_CRYPTO_LIB "GLOBAL_CRYPTO_LIB" |
The Cryptography library name, this library contains ciphers and algorithms used by ::SOLCLIENT_GLOBAL_PROP_SSL_LIB Default: More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_DBQUANTASIZE_0 "10240" |
The default size (10 KB) of data buffers in the pool of smallest buffers. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_DBQUANTASIZE_1 "32768" |
The default size (32 KB) of data buffers in the second pool of buffers. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_DBQUANTASIZE_2 "65536" |
The default size (64 KB) of data buffers in the third pool of buffers. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_DBQUANTASIZE_3 "262144" |
The default size (256 KB) of data buffers in the 4th pool of buffers. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_DBQUANTASIZE_4 "1048576" |
The default size (1 MB) of data buffers in the 5th (last) pool of buffers. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_MAXPOOLMEM "1073741824" |
The default maximum memory pool size (1 GB). More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_GSS_KRB_LIB_LINUX "libgssapi_krb5.so.2" |
The default GSS Kerberos library name for Linux. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_GSS_KRB_LIB_SOLARIS "mech_krb5.so.1" |
The default GSS Kerberos library name for Solaris. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_GSS_KRB_LIB_WINDOWS "secur32.dll" |
The default GSS Kerberos library name for Windows. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_GSS_KRB_LIB_AIX "libgssapi_krb5.a(libgssapi_krb5.a.so)" |
The default GSS Kerberos library name for AIX. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_IBM_CODESET "TPF_CCSID_IBM1047" |
The default IBM character set in use by the application. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_SSL_LIB_UNIX "libssl.so" |
The default SSL library name for Unix (including Linux and AIX) More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_SSL_LIB_MACOSX "libssl.3.dylib" |
The default SSL library name for MacOSX. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_SSL_LIB_VMS "SSL1$LIBSSL_SHR.EXE" |
The default SSL library name for OpenVMS. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_SSL_LIB_WINDOWS "libssl-3.dll" |
The default SSL library name for Windows. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_CRYPTO_LIB_UNIX "libcrypto.so" |
The default crypto library name for Unix (including Linux and AIX). More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_CRYPTO_LIB_MACOSX "libcrypto.3.dylib" |
The default crypto library name for MacOSX. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_CRYPTO_LIB_VMS "SSL1$LIBCRYPTO_SHR.EXE" |
The default crypto library name for OpenVMS. More... | |
#define | SOLCLIENT_GLOBAL_PROP_DEFAULT_CRYPTO_LIB_WINDOWS "libcrypto-3.dll" |
The default crypto library name for Windows. More... | |
#define | SOLCLIENT_CONTEXT_PROP_TIME_RES_MS "CONTEXT_TIME_RES_MS" |
The internal timer resolution (in milliseconds). More... | |
#define | SOLCLIENT_CONTEXT_PROP_CREATE_THREAD "CONTEXT_CREATE_THREAD" |
Use SOLCLIENT_PROP_ENABLE_VAL to have the Context thread created automatically (as opposed to the application creating and destroying this thread). More... | |
#define | SOLCLIENT_CONTEXT_PROP_THREAD_AFFINITY "CONTEXT_THREAD_AFFINITY" |
The desired thread affinity mask for the Context thread. More... | |
#define | SOLCLIENT_CONTEXT_PROP_THREAD_AFFINITY_CPU_LIST "CONTEXT_THREAD_AFFINITY_CPU_LIST" |
The desired thread affinity for the Context thread in the form of a comma-separated list of base-10 non-negative integers and dash-separated ranges. More... | |
#define | SOLCLIENT_CONTEXT_PROP_DEFAULT_TIME_RES_MS "50" |
The default value for timer resolution (in milliseconds). More... | |
#define | SOLCLIENT_CONTEXT_PROP_DEFAULT_CREATE_THREAD SOLCLIENT_PROP_DISABLE_VAL |
The default value for create Context thread. More... | |
#define | SOLCLIENT_CONTEXT_PROP_DEFAULT_THREAD_AFFINITY "0" |
By default, the thread affinity for the auto-created Context thread is not set. More... | |
#define | SOLCLIENT_CONTEXT_PROP_DEFAULT_THREAD_AFFINITY_CPU_LIST "" |
By default, the thread affinity for the auto-created Context thread is not set. More... | |
#define | SOLCLIENT_SESSION_PROP_USERNAME "SESSION_USERNAME" |
The username required for authentication. More... | |
#define | SOLCLIENT_SESSION_PROP_PASSWORD "SESSION_PASSWORD" |
The password required for authentication. More... | |
#define | SOLCLIENT_SESSION_PROP_HOST "SESSION_HOST" |
The IPv4 or IPv6 address or host name to connect to. More... | |
#define | SOLCLIENT_SESSION_PROP_PORT "SESSION_PORT" |
Deprecated. More... | |
#define | SOLCLIENT_SESSION_PROP_BUFFER_SIZE "SESSION_BUFFER_SIZE" |
The maximum amount of messages to buffer (in bytes) when the TCP session is flow controlled (see Message Buffer Size Configuration). More... | |
#define | SOLCLIENT_SESSION_PROP_CONNECT_BLOCKING "SESSION_CONNECT_BLOCKING" |
Use SOLCLIENT_PROP_ENABLE_VAL to enable blocking connect operation. More... | |
#define | SOLCLIENT_SESSION_PROP_SEND_BLOCKING "SESSION_SEND_BLOCKING" |
Use SOLCLIENT_PROP_ENABLE_VAL to enable blocking send operation. More... | |
#define | SOLCLIENT_SESSION_PROP_SUBSCRIBE_BLOCKING "SESSION_SUBSCRIBE_BLOCKING" |
Use SOLCLIENT_PROP_ENABLE_VAL to enable blocking subscribe/unsubscribe operation. More... | |
#define | SOLCLIENT_SESSION_PROP_BLOCK_WHILE_CONNECTING "SESSION_BLOCK_WHILE_CONNECTING" |
Use SOLCLIENT_PROP_ENABLE_VAL to block the calling thread on operations such as sending a message, subscribing, or unsubscribing when the Session is being connected or reconnected. More... | |
#define | SOLCLIENT_SESSION_PROP_BLOCKING_WRITE_TIMEOUT_MS "SESSION_WRITE_TIMEOUT_MS" |
The timeout period (in milliseconds) for blocking write operation. More... | |
#define | SOLCLIENT_SESSION_PROP_CONNECT_TIMEOUT_MS "SESSION_CONNECT_TIMEOUT_MS" |
The timeout period (in milliseconds) for a connect operation to a given host (per host). More... | |
#define | SOLCLIENT_SESSION_PROP_SUBCONFIRM_TIMEOUT_MS "SESSION_SUBCONFIRM_TIMEOUT_MS" |
The timeout period (in milliseconds) for subscription confirm (add or remove). More... | |
#define | SOLCLIENT_SESSION_PROP_IGNORE_DUP_SUBSCRIPTION_ERROR "SESSION_IGNORE_DUP_SUBSCRIPTION_ERROR" |
Use SOLCLIENT_PROP_ENABLE_VAL to ignore errors for duplicate subscription/topic on subscribe or subscription not found errors on unsubscribe. More... | |
#define | SOLCLIENT_SESSION_PROP_TCP_NODELAY "SESSION_TCP_NODELAY" |
Use SOLCLIENT_PROP_ENABLE_VAL to enable TCP no delay. More... | |
#define | SOLCLIENT_SESSION_PROP_SOCKET_SEND_BUF_SIZE "SESSION_SOCKET_SEND_BUF_SIZE" |
The value for the socket send buffer size (in bytes). More... | |
#define | SOLCLIENT_SESSION_PROP_SOCKET_RCV_BUF_SIZE "SESSION_SOCKET_RCV_BUF_SIZE" |
The value for socket receive buffer size (in bytes). More... | |
#define | SOLCLIENT_SESSION_PROP_KEEP_ALIVE_INT_MS "SESSION_KEEP_ALIVE_INTERVAL_MS" |
The amount of time (in milliseconds) to wait between sending out Keep-Alive messages. More... | |
#define | SOLCLIENT_SESSION_PROP_KEEP_ALIVE_LIMIT "SESSION_KEEP_ALIVE_LIMIT" |
The maximum number of consecutive Keep-Alive messages that can be sent without receiving a response before the connection is closed by the API. More... | |
#define | SOLCLIENT_SESSION_PROP_APPLICATION_DESCRIPTION "SESSION_APPLICATION_DESCRIPTION" |
A string that uniquely describes the application instance. More... | |
#define | SOLCLIENT_SESSION_PROP_CLIENT_MODE "SESSION_CLIENT_MODE" |
Deprecated. More... | |
#define | SOLCLIENT_SESSION_PROP_BIND_IP "SESSION_BIND_IP" |
(Optional) The hostname or IP address of the machine on which the application is running. More... | |
#define | SOLCLIENT_SESSION_PROP_PUB_WINDOW_SIZE "SESSION_PUB_WINDOW_SIZE" |
The publisher window size for Guaranteed messages. More... | |
#define | SOLCLIENT_SESSION_PROP_PUB_ACK_TIMER "SESSION_PUB_ACK_TIMER" |
The duration of publisher acknowledgment timer (in milliseconds). More... | |
#define | SOLCLIENT_SESSION_PROP_VPN_NAME "SESSION_VPN_NAME" |
The name of the Message VPN to attempt to join when connecting to an broker running SolOS-TR. More... | |
#define | SOLCLIENT_SESSION_PROP_VPN_NAME_IN_USE "SESSION_VPN_NAME_IN_USE" |
A read-only Session property that indicates which Message VPN the Session is connected to. More... | |
#define | SOLCLIENT_SESSION_PROP_CLIENT_NAME "SESSION_CLIENT_NAME" |
The Session client name that is used during client login to create a unique Session. More... | |
#define | SOLCLIENT_SESSION_PROP_COMPRESSION_LEVEL "SESSION_COMPRESSION_LEVEL" |
Enables messages to be compressed with ZLIB before transmission and decompressed on receive. More... | |
#define | SOLCLIENT_SESSION_PROP_PAYLOAD_COMPRESSION_LEVEL "SESSION_PAYLOAD_COMPRESSION_LEVEL" |
Enables binary attachment in the message to be compressed with ZLIB before transmission and decompressed on receive. More... | |
#define | SOLCLIENT_SESSION_PROP_GENERATE_RCV_TIMESTAMPS "SESSION_RCV_TIMESTAMP" |
When enabled, a receive timestamp is recorded for each message and passed to the application callback in the rxCallbackInfo_t structure. More... | |
#define | SOLCLIENT_SESSION_PROP_GENERATE_SEND_TIMESTAMPS "SESSION_SEND_TIMESTAMP" |
When enabled, a send timestamp is automatically included (if not already present) in the Solace-defined fields for each message sent. More... | |
#define | SOLCLIENT_SESSION_PROP_GENERATE_SENDER_ID "SESSION_SEND_SENDER_ID" |
When enabled, a sender ID is automatically included (if not already present) in the Solace-defined fields for each message sent. More... | |
#define | SOLCLIENT_SESSION_PROP_GENERATE_SEQUENCE_NUMBER "SESSION_SEND_SEQUENCE_NUMBER" |
When enabled, a sequence number is automatically included (if not already present) in the Solace-defined fields for each message sent. More... | |
#define | SOLCLIENT_SESSION_PROP_CONNECT_RETRIES_PER_HOST "SESSION_CONNECT_RETRIES_PER_HOST" |
When using a host list, this property defines how many times to try to connect or reconnect to a single host before moving to the next host in the list. More... | |
#define | SOLCLIENT_SESSION_PROP_CONNECT_RETRIES "SESSION_CONNECT_RETRIES" |
How many times to try to connect to the host broker (or list of broker) during connection setup. More... | |
#define | SOLCLIENT_SESSION_PROP_RECONNECT_RETRIES "SESSION_RECONNECT_RETRIES" |
How many times to retry to reconnect to the host broker (or list of broker) after a connected Session goes down. More... | |
#define | SOLCLIENT_SESSION_PROP_RECONNECT_RETRY_WAIT_MS "SESSION_RECONNECT_RETRY_WAIT_MS" |
How much time (in ms) to wait between each attempt to connect or reconnect to a host. More... | |
#define | SOLCLIENT_SESSION_PROP_USER_ID "SESSION_USER_ID" |
A read-only informational string providing information about the application, such as the name of operating system user that is running the application, the hostname, and the PID of the application. More... | |
#define | SOLCLIENT_SESSION_PROP_P2PINBOX_IN_USE "SESSION_REPLY_TO_DEFAULT_DEST" |
A read-only informational string that indicates the default reply-to destination that is used when a request message is sent that does not have a reply-to destination specified. More... | |
#define | SOLCLIENT_SESSION_PROP_REPLY_TO_DEFAULT_DEST SOLCLIENT_SESSION_PROP_P2PINBOX_IN_USE |
Deprecated: see SOLCLIENT_SESSION_PROP_P2PINBOX_IN_USE. More... | |
#define | SOLCLIENT_SESSION_PROP_REAPPLY_SUBSCRIPTIONS "SESSION_REAPPLY_SUBSCRIPTIONS" |
Use SOLCLIENT_PROP_ENABLE_VAL to have the API remember subscriptions and reapply them upon a Session reconnect. More... | |
#define | SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH "SESSION_TOPIC_DISPATCH" |
Use SOLCLIENT_PROP_ENABLE_VAL to have the API dispatch messages based on Topic (see Dispatching Messages Based on a Topic). More... | |
#define | SOLCLIENT_SESSION_PROP_PROVISION_TIMEOUT_MS "SESSION_PROVISION_TIMEOUT_MS" |
Maximum amount of time (in milliseconds) to wait for a provision command (create or delete an endpoint) More... | |
#define | SOLCLIENT_SESSION_PROP_CALCULATE_MESSAGE_EXPIRATION "SESSION_CALCULATE_MESSAGE_EXPIRATION" |
If this property is true and time-to-live (solClient_msg_setTimeToLive()) has a positive value in a message, the expiration time is calculated when the message is sent or received and can be retrieved with solClient_msg_getExpiration. More... | |
#define | SOLCLIENT_SESSION_PROP_VIRTUAL_ROUTER_NAME "SESSION_VIRTUAL_ROUTER_NAME" |
A read-only property that indicates the connected broker's virtual router name. More... | |
#define | SOLCLIENT_SESSION_PROP_NO_LOCAL "SESSION_NO_LOCAL" |
If this property is true, messages published on the Session cannot be received on the same Session even if the client has a subscription that matches the published topic. More... | |
#define | SOLCLIENT_SESSION_PROP_AD_PUB_ROUTER_WINDOWED_ACK "SESSION_AD_PUB_ROUTER_WINDOWED_ACK" |
When disabled, initiate a window size of 1 to broker, but do not wait for acknowledgments before transmitting up to the actual window size. More... | |
#define | SOLCLIENT_SESSION_PROP_MODIFYPROP_TIMEOUT_MS "SESSION_MODIFYPROP_TIMEOUT_MS" |
Maximum amount of time (in milliseconds) to wait for session property modification. More... | |
#define | SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE "SESSION_ACK_EVENT_MODE" |
This property specifies if a session event SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT acknowledges a single message (see SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE_PER_MSG) or a range of messages (see SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE_WINDOWED). More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_EXCLUDED_PROTOCOLS "SESSION_SSL_EXCLUDED_PROTOCOLS" |
This property specifies a comma separated list of excluded SSL protocol(s). More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE "SESSION_SSL_VALIDATE_CERTIFICATE" |
This is used to specify whether the API should validate server certificates with certificates in the truststore. More... | |
#define | SOLCLIENT_SESSION_PROP_OPENSSL_SECURITY_LEVEL "SESSION_OPENSSL_SECURITY_LEVEL" |
A number from 0-5 passed to the openSsl library as the security level. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_CLIENT_CERTIFICATE_FILE "SESSION_SSL_CLIENT_CERTIFICATE_FILE" |
This property specifies the client certificate file name. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_CLIENT_PRIVATE_KEY_FILE "SESSION_SSL_CLIENT_PRIVATE_KEY_FILE" |
This property specifies the client private key file name. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_CLIENT_PRIVATE_KEY_FILE_PASSWORD "SESSION_SSL_CLIENT_PRIVATE_KEY_FILE_PASSWORD" |
This property specifies the password used to encrypt the client private key file. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_CONNECTION_DOWNGRADE_TO "SESSION_SSL_CONNECTION_DOWNGRADE_TO" |
This property specifies a transport protocol that TLS connection will be downgraded to after client authentication. More... | |
#define | SOLCLIENT_SESSION_PROP_INITIAL_RECEIVE_BUFFER_SIZE "SESSION_INITIAL_RECEIVE_BUFFER_SIZE" |
If not zero, the minimum starting size for the API receive buffer. More... | |
#define | SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME "SESSION_AUTHENTICATION_SCHEME" |
This property specifies the authentication scheme. More... | |
#define | SOLCLIENT_SESSION_PROP_KRB_SERVICE_NAME "SESSION_KRB_SERVICE_NAME" |
This property specifies the first part of Kerberos Service Principal Name (SPN) of the form ServiceName/Hostname@REALM (for Windows) or Host Based Service of the form ServiceName@Hostname (for Linux and SunOS). More... | |
#define | SOLCLIENT_SESSION_PROP_UNBIND_FAIL_ACTION "SESSION_UNBIND_FAIL_ACTION" |
A property to define the behavior if an unbind-response is not received after an unbind-request (solClient_flow_destroy()) is sent to the Solace Appliance. More... | |
#define | SOLCLIENT_SESSION_PROP_WEB_TRANSPORT_PROTOCOL ("SESSION_WEB_TRANSPORT_PROTOCOL") |
This property specifies a WEB Transport Protocol in the default WEB Transport Protocol downgrade list to use for the session connection. More... | |
#define | SOLCLIENT_SESSION_PROP_WEB_TRANSPORT_PROTOCOL_IN_USE ("SESSION_WEB_TRANSPORT_PROTOCOL_IN_USE") |
Read-only property which returns the WEB Transport Protocol currently in use for web messaging. More... | |
#define | SOLCLIENT_SESSION_PROP_WEB_TRANSPORT_PROTOCOL_LIST ("SESSION_WEB_TRANSPORT_PROTOCOL_LIST") |
This property specifies a comma separated list of WEB Transport Protocols to use for session connection. More... | |
#define | SOLCLIENT_SESSION_PROP_TRANSPORT_PROTOCOL_DOWNGRADE_TIMEOUT_MS ("SESSION_TRANSPORT_PROTOCOL_DOWNGRADE_TIMEOUT_MS") |
Specifies how long to wait (in milliseconds) for a login response before moving to the next available protocol in a user specified or the default WEB Transport Protocol downgradelist. More... | |
#define | SOLCLIENT_SESSION_PROP_GUARANTEED_WITH_WEB_TRANSPORT ("SESSION_GUARANTEED_WITH_WEB_TRANSPORT") |
Enables guaranteed messaging with web transport protocols. More... | |
#define | SOLCLIENT_SESSION_PROP_GD_RECONNECT_FAIL_ACTION "SESSION_GD_RECONNECT_FAIL_ACTION" |
A property to define the behavior when the CCSMP API is unable to reconnect guaranteed delivery after reconnecting the session. More... | |
#define | SOLCLIENT_SESSION_PROP_OAUTH2_ACCESS_TOKEN "SESSION_OAUTH2_ACCESS_TOKEN" |
The OAUTH2 access token. More... | |
#define | SOLCLIENT_SESSION_PROP_OAUTH2_ISSUER_IDENTIFIER "SESSION_OAUTH2_ISSUER_IDENTIFIER" |
The optional Issuer identifier URI for OAUTH2 access token based authentication. More... | |
#define | SOLCLIENT_SESSION_PROP_OIDC_ID_TOKEN "SESSION_OIDC_ID_TOKEN" |
The OIDC (OpenId Connect) ID Token. More... | |
#define | SOLCLIENT_TRANSPORT_PROTOCOL_NULL ("") |
An empty value for SOLCLIENT_SESSION_PROP_WEB_TRANSPORT_PROTOCOL means "use best available". More... | |
#define | SOLCLIENT_TRANSPORT_PROTOCOL_WS_BINARY ("WS_BINARY") |
Binary-encoded, using the WebSocket protocol, supports guaranteed web transport. More... | |
#define | SOLCLIENT_TRANSPORT_PROTOCOL_HTTP_BINARY_STREAMING ("HTTP_BINARY_STREAMING") |
Binary encoded, responses are received in streaming mode for higher efficiency. More... | |
#define | SOLCLIENT_TRANSPORT_PROTOCOL_HTTP_BINARY ("HTTP_BINARY") |
Binary-encoded, responses are received in COMET style. More... | |
#define | SOLCLIENT_TRANSPORT_PROTOCOL_PLAIN_TEXT ("PLAIN_TEXT") |
#define | SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME_BASIC "AUTHENTICATION_SCHEME_BASIC" |
#define | SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE "AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE" |
#define | SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME_GSS_KRB "AUTHENTICATION_SCHEME_GSS_KRB" |
#define | SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME_OAUTH2 "AUTHENTICATION_SCHEME_OAUTH2" |
OAUTH 2.0 authentication with a token. More... | |
#define | SOLCLIENT_SESSION_PROP_UNBIND_FAIL_ACTION_RETRY "UNBIND_FAIL_ACTION_RETRY" |
#define | SOLCLIENT_SESSION_PROP_UNBIND_FAIL_ACTION_DISCONNECT "UNBIND_FAIL_ACTION_DISCONNECT" |
#define | SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_DATE "SESSION_SSL_VALIDATE_CERTIFICATE_DATE" |
This property indicates if the session connection should fail when a certificate with an invalid date (current date before valid date, or current date after expiry) is received. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_HOST "SESSION_SSL_VALIDATE_CERTIFICATE_HOST" |
This property indicates if the session connection should fail when a certificate with an invalid host is received. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_SUITES "SESSION_SSL_CIPHER_SUITES" |
This property specifies a comma separated list of the cipher suites. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_TRUST_STORE_DIR "SESSION_SSL_TRUST_STORE_DIR" |
This property specifies the directory where the trusted certificates are. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_TRUSTED_COMMON_NAME_LIST "SESSION_SSL_TRUSTED_COMMON_NAME_LIST" |
NOT RECOMMENDED. More... | |
#define | SOLCLIENT_SESSION_PROP_GD_RECONNECT_FAIL_ACTION_AUTO_RETRY ("GD_RECONNECT_FAIL_ACTION_AUTO_RETRY") |
Clear the publisher state and reconnect the publisher flow. More... | |
#define | SOLCLIENT_SESSION_PROP_GD_RECONNECT_FAIL_ACTION_DISCONNECT ("GD_RECONNECT_FAIL_ACTION_DISCONNECT") |
Disconnect the session, even if SOLCLIENT_SESSION_PROP_RECONNECT_RETRIES is configured to a non-zero value. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_USERNAME "" |
The default value for username. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PASSWORD "" |
The default value for password. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_HOST "127.0.0.1" |
The default value for the broker IP address. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PORT "55555" |
The default value for the broker TCP port when compression is not in use (SOLCLIENT_SESSION_PROP_COMPRESSION_LEVEL of zero). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PORT_COMPRESSION "55003" |
The default value for the broker TCP port when compression is in use (SOLCLIENT_SESSION_PROP_COMPRESSION_LEVEL of non-zero). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PORT_SSL "55443" |
The default value for the broker SSL port over TCP regardless of compression. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_BUFFER_SIZE "90000" |
The default size (in bytes) of internal buffer for transmit buffering. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CONNECT_BLOCKING SOLCLIENT_PROP_ENABLE_VAL |
The default is blocking connect operation. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SEND_BLOCKING SOLCLIENT_PROP_ENABLE_VAL |
The default is blocking send operation. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SUBSCRIBE_BLOCKING SOLCLIENT_PROP_ENABLE_VAL |
The default is blocking subscribe/unsubscribe operation. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_BLOCK_WHILE_CONNECTING SOLCLIENT_PROP_ENABLE_VAL |
The default is to block operations such as sending a message, subscribing, or unsubscribing if the Session is being connected. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_BLOCKING_WRITE_TIMEOUT_MS "100000" |
The default blocking write timeout (in milliseconds). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CONNECT_TIMEOUT_MS "30000" |
The default connect timeout (in milliseconds). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SUBCONFIRM_TIMEOUT_MS "10000" |
The default subscription confirm (add or remove) timeout (in milliseconds). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_IGNORE_DUP_SUBSCRIPTION_ERROR SOLCLIENT_PROP_ENABLE_VAL |
The default is ignore errors for duplicate subscription/topic on subscribe or unsubscribe. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_TCP_NODELAY SOLCLIENT_PROP_ENABLE_VAL |
The default value for TCP no delay. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SOCKET_SEND_BUF_SIZE "90000" |
Use 0 to set the socket send buffer size to the operating system default. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SOCKET_RCV_BUF_SIZE "150000" |
Use 0 to set the socket receive buffer size to the operating system default. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_KEEP_ALIVE_INT_MS "3000" |
The default amount of time (in milliseconds) to wait between sending out Keep-Alive messages. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_KEEP_ALIVE_LIMIT "3" |
The default value for the number of consecutive Keep-Alive messages that can be sent without receiving a response before the connection is closed by the API. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_APPLICATION_DESCRIPTION "" |
The default value for the application description. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CLIENT_MODE SOLCLIENT_PROP_DISABLE_VAL |
Deprecated. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_BIND_IP "" |
The default value for local IP on connect is unset (bind to any) . More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PUB_ACK_TIMER "2000" |
The default value for publisher acknowledgment timer (in milliseconds). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PUB_WINDOW_SIZE "50" |
The default Publisher Window size for Guaranteed messages. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_VPN_NAME "" |
The default Message VPN name to connect this Session to. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CLIENT_NAME "" |
The default Session Client Name is a null string to have the C API generate one. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SUBSCRIBER_LOCAL_PRIORITY "1" |
The default subscriber priority for locally published messages. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SUBSCRIBER_NETWORK_PRIORITY "1" |
The default subscriber priority for remotely published messages. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_COMPRESSION_LEVEL "0" |
The default compression level (no compression). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PAYLOAD_COMPRESSION_LEVEL "0" |
The default payload compression level (no compression). More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_GENERATE_RCV_TIMESTAMPS SOLCLIENT_PROP_DISABLE_VAL |
The default receive message timestamps. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_GENERATE_SEND_TIMESTAMPS SOLCLIENT_PROP_DISABLE_VAL |
The default for automatically include send message timestamps. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_GENERATE_SENDER_ID SOLCLIENT_PROP_DISABLE_VAL |
The default for automatically include a sender id. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_GENERATE_SEQUENCE_NUMBER SOLCLIENT_PROP_DISABLE_VAL |
The default for automatically include a sequence number. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CONNECT_RETRIES_PER_HOST "0" |
The default number of connect retries per host. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CONNECT_RETRIES "0" |
The default number of connect retries. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_RECONNECT_RETRIES "0" |
The default number of reconnect retries. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_RECONNECT_RETRY_WAIT_MS "3000" |
The default amount of time in (milliseconds) to wait before attempting a reconnect attempt. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_REAPPLY_SUBSCRIPTIONS SOLCLIENT_PROP_DISABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_REAPPLY_SUBSCRIPTIONS. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_TOPIC_DISPATCH SOLCLIENT_PROP_DISABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH (see Dispatching Messages Based on a Topic) More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_PROVISION_TIMEOUT_MS "3000" |
The default amount of time (in milliseconds) to wait for a provision command. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_MODIFYPROP_TIMEOUT_MS "10000" |
The default amount of time (in milliseconds) to wait for session property modification. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_CALCULATE_EXPIRATION_TIME SOLCLIENT_PROP_DISABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_CALCULATE_MESSAGE_EXPIRATION. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_NO_LOCAL SOLCLIENT_PROP_DISABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_NO_LOCAL. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_AD_PUB_ROUTER_WINDOWED_ACK SOLCLIENT_PROP_ENABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_AD_PUB_ROUTER_WINDOWED_ACK. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SSL_EXCLUDED_PROTOCOLS "" |
The default value for SOLCLIENT_SESSION_PROP_SSL_EXCLUDED_PROTOCOLS. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SSL_VALIDATE_CERTIFICATE SOLCLIENT_PROP_ENABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SSL_VALIDATE_CERTIFICATE_DATE SOLCLIENT_PROP_ENABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_DATE. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SSL_VALIDATE_CERTIFICATE_HOST SOLCLIENT_PROP_ENABLE_VAL |
The default value for SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_HOST. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_SSL_CIPHER_SUITES ("ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-SHA,AES256-GCM-SHA384,AES256-SHA256,AES256-SHA,ECDHE-RSA-DES-CBC3-SHA,DES-CBC3-SHA,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES128-SHA,AES128-GCM-SHA256,AES128-SHA256,AES128-SHA,RC4-SHA,RC4-MD5") |
The default value for SOLCLIENT_SESSION_PROP_SSL_CIPHER_SUITES. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_INITIAL_RECEIVE_BUFFER_SIZE "0" |
The default value for SOLCLIENT_SESSION_PROP_INITIAL_RECEIVE_BUFFER_SIZE. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_AUTHENTICATION_SCHEME SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME_BASIC |
The default value for SOLCLIENT_SESSION_PROP_AUTHENTICATION_SCHEME. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_KRB_SERVICE_NAME "solace" |
The default for SOLCLIENT_SESSION_PROP_KRB_SERVICE_NAME. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_UNBIND_FAIL_ACTION SOLCLIENT_SESSION_PROP_UNBIND_FAIL_ACTION_RETRY |
The default value for SOLCLIENT_SESSION_PROP_UNBIND_FAIL_ACTION. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_WEB_TRANSPORT_PROTOCOL SOLCLIENT_TRANSPORT_PROTOCOL_NULL |
The default value for web messaging Transport Protocol. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_TRANSPORT_PROTOCOL_DOWNGRADE_TIMEOUT_MS ("3000") |
The default value for the Transport Protocol downgrade timeout in milliseconds. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_GUARANTEED_WITH_WEB_TRANSPORT SOLCLIENT_PROP_DISABLE_VAL |
The default for enabling guaranteed messaging with web transports. More... | |
#define | SOLCLIENT_SESSION_PROP_DEFAULT_GD_RECONNECT_FAIL_ACTION SOLCLIENT_SESSION_PROP_GD_RECONNECT_FAIL_ACTION_AUTO_RETRY |
The default action when the CCSMP API is unable to reestablish the publisher flow is to complete the reconnect on the session. More... | |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_AES256_GCM_SHA384 ("ECDHE-RSA-AES256-GCM-SHA384") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_AES256_SHA384 ("ECDHE-RSA-AES256-SHA384") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ("TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_AES256_SHA ("ECDHE-RSA-AES256-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ("TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_AES256_GCM_SHA384 ("AES256-GCM-SHA384") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_RSA_WITH_AES_256_GCM_SHA384 ("TLS_RSA_WITH_AES_256_GCM_SHA384") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_AES256_SHA256 ("AES256-SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_RSA_WITH_AES_256_CBC_SHA256 ("TLS_RSA_WITH_AES_256_CBC_SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_AES256_SHA ("AES256-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_RSA_WITH_AES_256_CBC_SHA ("TLS_RSA_WITH_AES_256_CBC_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_DES_CBC3_SHA ("ECDHE-RSA-DES-CBC3-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA ("TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_DES_CBC3_SHA ("DES-CBC3-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_SSL_RSA_WITH_3DES_EDE_CBC_SHA ("SSL_RSA_WITH_3DES_EDE_CBC_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_AES128_GCM_SHA256 ("ECDHE-RSA-AES128-GCM-SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_AES128_SHA256 ("ECDHE-RSA-AES128-SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 ("TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_ECDHE_RSA_AES128_SHA ("ECDHE-RSA-AES128-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ("TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_AES128_GCM_SHA256 ("AES128-GCM-SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_RSA_WITH_AES_128_GCM_SHA256 ("TLS_RSA_WITH_AES_128_GCM_SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_AES128_SHA256 ("AES128-SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_RSA_WITH_AES_128_CBC_SHA256 ("TLS_RSA_WITH_AES_128_CBC_SHA256") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_AES128_SHA ("AES128-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_TLS_RSA_WITH_AES_128_CBC_SHA ("TLS_RSA_WITH_AES_128_CBC_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_RC4_SHA ("RC4-SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_SSL_RSA_WITH_RC4_128_SHA ("SSL_RSA_WITH_RC4_128_SHA") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_RC4_MD5 ("RC4-MD5") |
#define | SOLCLIENT_SESSION_PROP_SSL_CIPHER_SSL_RSA_WITH_RC4_128_MD5 ("SSL_RSA_WITH_RC4_128_MD5") |
#define | SOLCLIENT_SESSION_PROP_SSL_PROTOCOL_TLSV1_2 ("TLSv1.2") |
#define | SOLCLIENT_SESSION_PROP_SSL_PROTOCOL_TLSV1_1 ("TLSv1.1") |
#define | SOLCLIENT_SESSION_PROP_SSL_PROTOCOL_TLSV1 ("TLSv1") |
#define | SOLCLIENT_SESSION_PROP_SSL_PROTOCOL_SSLV3 ("SSLv3") |
#define | SOLCLIENT_SESSION_PROP_MAX_USERNAME_LEN (189) |
The maximum length of username string (Session property), not including the NULL terminator. More... | |
#define | SOLCLIENT_SESSION_PROP_MAX_PASSWORD_LEN (128) |
The maximum length of password string (Session property), not including the NULL terminator. More... | |
#define | SOLCLIENT_SESSION_PROP_MAX_HOSTS (16) |
The maximum number of hosts that can appear in the Session host property. More... | |
#define | SOLCLIENT_SESSION_PROP_MAX_APP_DESC (255) |
The maximum length of application (that is, the client) description string (Session property), not including the NULL terminator. More... | |
#define | SOLCLIENT_SESSION_PROP_MAX_CLIENT_NAME_LEN (160) |
The maximum length of client name string (Session property), not including the NULL terminator. More... | |
#define | SOLCLIENT_SESSION_PROP_MAX_VPN_NAME_LEN (32) |
The maximum length of a Message VPN name string (Session property), not including the NULL terminator. More... | |
#define | SOLCLIENT_SESSION_PROP_MAX_VIRTUAL_ROUTER_NAME_LEN (52) |
The maximum length of a virtual router name (read-only Session property), not including the NULL terminator. More... | |
#define | SOLCLIENT_CONTEXT_PROP_MAX_CPU_LIST_LEN (255) |
The maximum length of the SOLCLIENT_CONTEXT_PROP_THREAD_AFFINITY_CPU_LIST string (Context property), not including the NULL terminator. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_BLOCKING "FLOW_BIND_BLOCKING" |
This property controls whether or not to block in solClient_session_createFlow(). More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_TIMEOUT_MS "FLOW_BIND_TIMEOUT_MS" |
The timeout (in milliseconds) used when creating a Flow in blocking mode. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_ENTITY_ID "FLOW_BIND_ENTITY_ID" |
The type of object to which this Flow is bound. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_ENTITY_DURABLE "FLOW_BIND_ENTITY_DURABLE" |
The durability of the object to which this Flow is bound. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_NAME "FLOW_BIND_NAME" |
The name of the Queue or Topic Endpoint that is the target of the bind. More... | |
#define | SOLCLIENT_FLOW_PROP_WINDOWSIZE "FLOW_WINDOWSIZE" |
The Guaranteed message window size for the Flow. More... | |
#define | SOLCLIENT_FLOW_PROP_AUTOACK "FLOW_AUTOACK" |
Deprecated: When set to SOLCLIENT_PROP_ENABLE_VAL, the API generates application level acknowledgments when the receive callback function returns. More... | |
#define | SOLCLIENT_FLOW_PROP_ACKMODE "FLOW_ACKMODE" |
Controls how acknowledgments are generated for received Guaranteed messages. More... | |
#define | SOLCLIENT_FLOW_PROP_TOPIC "FLOW_TOPIC" |
When binding to a Topic endpoint, the Topic may be set in the bind. More... | |
#define | SOLCLIENT_FLOW_PROP_MAX_BIND_TRIES "FLOW_MAX_BIND_TRIES" |
When creating a non-blocking Flow, or a Flow that is bound due to Session-connect, the maximum number of bind attempts to make. More... | |
#define | SOLCLIENT_FLOW_PROP_ACK_TIMER_MS "FLOW_ACK_TIMER_MS" |
The duration of the Flow acknowledgment timer (in milliseconds). More... | |
#define | SOLCLIENT_FLOW_PROP_ACK_THRESHOLD "FLOW_ACK_THRESHOLD" |
The threshold for sending an acknowledgement, configured as a percentage. More... | |
#define | SOLCLIENT_FLOW_PROP_START_STATE "FLOW_START_STATE" |
This property controls whether the Flow should be created in a start or stop state with respect to receiving messages. More... | |
#define | SOLCLIENT_FLOW_PROP_SELECTOR "FLOW_SELECTOR" |
A Java Message System (JMS) defined selector. More... | |
#define | SOLCLIENT_FLOW_PROP_NO_LOCAL "FLOW_NO_LOCAL" |
When a Flow has the No Local property enabled, messages published on the Session cannot appear in a Flow created in the same Session, even if the endpoint contains a subscription that matches the published message. More... | |
#define | SOLCLIENT_FLOW_PROP_MAX_UNACKED_MESSAGES "FLOW_MAX_UNACKED_MESSAGES" |
This property may only be set when the Flow property SOLCLIENT_FLOW_PROP_ACKMODE is set to SOLCLIENT_FLOW_PROP_ACKMODE_CLIENT. More... | |
#define | SOLCLIENT_FLOW_PROP_BROWSER "FLOW_BROWSER" |
Set browser mode on flow and signal it is a browser flow to broker on bind. More... | |
#define | SOLCLIENT_FLOW_PROP_ACTIVE_FLOW_IND "FLOW_ACTIVE_FLOW_IND" |
When a Flow has the Active Flow Indication property enabled, the application will receive flow events when the flow becomes active, or inactive. More... | |
#define | SOLCLIENT_FLOW_PROP_REPLAY_START_LOCATION "FLOW_REPLAY_START_LOCATION" |
When a Flow is created, the application may request replay of messages from the replay log, even messages that have been previously delivered and removed the from topic endpoint or queue. More... | |
#define | SOLCLIENT_FLOW_PROP_MAX_RECONNECT_TRIES "FLOW_MAX_RECONNECT_TRIES" |
When a flow is unbound by the message-broker due to "Replay Started" or "Service Unavailable", the API will attempt to reconnect the flow if this property is non-zero. More... | |
#define | SOLCLIENT_FLOW_PROP_RECONNECT_RETRY_INTERVAL_MS "FLOW_RECONNECT_RETRY_INTERVAL_MS" |
When a flow is reconnecting, the API will attempt to reconnect immediately, if that bind attempt fails it will wait for the retry interval before attempting to connect again. More... | |
#define | SOLCLIENT_FLOW_PROP_REQUIRED_OUTCOME_FAILED "FLOW_REQUIRED_OUTCOME_FAILED" |
Create a flow that allows solClient_flow_settleMsg() with SOLCLIENT_OUTCOME_FAILED. More... | |
#define | SOLCLIENT_FLOW_PROP_REQUIRED_OUTCOME_REJECTED "FLOW_REQUIRED_OUTCOME_REJECTED" |
Create a flow that allows solClient_flow_settleMsg() with SOLCLIENT_OUTCOME_REJECTED. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_BIND_BLOCKING SOLCLIENT_PROP_ENABLE_VAL |
The default is bind blocking. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_BIND_TIMEOUT_MS "10000" |
The default bind timeout in milliseconds. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_BIND_ENTITY_ID SOLCLIENT_FLOW_PROP_BIND_ENTITY_SUB |
The default bind target type. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_BIND_ENTITY_DURABLE SOLCLIENT_PROP_ENABLE_VAL |
The default bind target durability. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_BIND_NAME "" |
The default bind target. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_WINDOWSIZE "255" |
The default Flow window size. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_AUTOACK SOLCLIENT_PROP_ENABLE_VAL |
The default acknowledgment mode is AutoAcknowledgment. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_TOPIC "" |
The default Topic for a Topic Endpoint bind. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_MAX_BIND_TRIES "3" |
The default maximum number of bind attempts. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_ACK_TIMER_MS "1000" |
The default Flow acknowledgment timer in milliseconds. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_ACK_THRESHOLD "60" |
The default threshold for sending an acknowledgment, as a percentage of the Flow window size. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_START_STATE SOLCLIENT_PROP_ENABLE_VAL |
The default value for the SOLCLIENT_FLOW_PROP_START_STATE property. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_SELECTOR "" |
The default selector when binding to an endpoint. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_NO_LOCAL SOLCLIENT_PROP_DISABLE_VAL |
The default value for the SOLCLIENT_FLOW_PROP_NO_LOCAL property. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_MAX_UNACKED_MESSAGES "-1" |
The default value for SOLCLIENT_FLOW_PROP_MAX_UNACKED_MESSAGES. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_BROWSER SOLCLIENT_PROP_DISABLE_VAL |
The default value for the SOLCLIENT_FLOW_PROP_BROWSER property. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_ACTIVE_FLOW_IND SOLCLIENT_PROP_DISABLE_VAL |
The default value for the SOLCLIENT_FLOW_PROP_ACTIVE_FLOW_IND property. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_REPLAY_START_LOCATION "" |
The default value for SOLCLIENT_FLOW_PROP_REPLAY_START_LOCATION is no replay requested. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_MAX_RECONNECT_TRIES "-1" |
The default value for SOLCLIENT_FLOW_PROP_MAX_RECONNECT_TRIES. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_RECONNECT_RETRY_INTERVAL_MS "3000" |
The default reconnect retry interval timer. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_REQUIRED_OUTCOME_FAILED SOLCLIENT_PROP_DISABLE_VAL |
Failing messages is disabled by default. More... | |
#define | SOLCLIENT_FLOW_PROP_DEFAULT_REQUIRED_OUTCOME_REJECTED SOLCLIENT_PROP_DISABLE_VAL |
Rejecting messages is disabled by default. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_ENTITY_SUB "1" |
A bind target of subscriber. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_ENTITY_QUEUE "2" |
A bind target of Queue. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_ENTITY_TE "3" |
A bind target of Topic Endpoint. More... | |
#define | SOLCLIENT_FLOW_PROP_BIND_ENTITY_DTE SOLCLIENT_FLOW_PROP_BIND_ENTITY_TE |
Deprecated name; SOLCLIENT_FLOW_PROP_BIND_ENTITY_TE is preferred. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_ID "ENDPOINT_ID" |
The type of endpoint, the valid values are SOLCLIENT_ENDPOINT_PROP_QUEUE, SOLCLIENT_ENDPOINT_PROP_TE, and SOLCLIENT_ENDPOINT_PROP_CLIENT_NAME. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_NAME "ENDPOINT_NAME" |
The name of the Queue or Topic endpoint as a NULL-terminated UTF-8 encoded string. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_DURABLE "ENDPOINT_DURABLE" |
The durability of the endpoint to name. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_PERMISSION "ENDPOINT_PERMISSION" |
The created entity's permissions, a single character string. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_ACCESSTYPE "ENDPOINT_ACCESSTYPE" |
Sets the access type for the endpoint. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_QUOTA_MB "ENDPOINT_QUOTA_MB" |
Maximum quota (in megabytes) for the endpoint. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_MAXMSG_SIZE "ENDPOINT_MAXMSG_SIZE" |
Maximum size (in bytes) for any one message stored in the endpoint. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_RESPECTS_MSG_TTL "ENDPOINT_RESPECTS_MSG_TTL" |
The endpoint observes message Time-to-Live (TTL) values and can remove expired messages. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_DISCARD_BEHAVIOR "ENDPOINT_DISCARD_BEHAVIOR" |
When a message cannot be added to an endpoint (for example, maximum quota (SOLCLIENT_ENDPOINT_PROP_QUOTA_MB) exceeded), this property controls the action the broker will perform towards the publisher. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_MAXMSG_REDELIVERY "ENDPOINT_MAXMSG_REDELIVERY" |
Defines how many message redelivery retries before discarding or moving the message to the DMQ. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_DEFAULT_ID SOLCLIENT_ENDPOINT_PROP_TE |
The endpoint type of the endpoint. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_DEFAULT_DURABLE SOLCLIENT_PROP_ENABLE_VAL |
Whether the endpoint is durable. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_DEFAULT_RESPECTS_MSG_TTL SOLCLIENT_PROP_DISABLE_VAL |
Whether the endpoint observes message Time-to-Live values and can remove expired messages. More... | |
#define | SOLCLIENT_PROVISION_FLAGS_WAITFORCONFIRM (0x01) |
The provision operation blocks until it has completed successfully on the broker or failed. More... | |
#define | SOLCLIENT_PROVISION_FLAGS_IGNORE_EXIST_ERRORS (0x02) |
When set, it is not considered an error if the endpoint already exists (create) or does not exist (delete). More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_PUB_GUARANTEED "SESSION_CAPABILITY_PUB_GUARANTEED" |
Boolean - The Session allows publishing of Guaranteed messages. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_SUB_FLOW_GUARANTEED "SESSION_CAPABILITY_SUB_FLOW_GUARANTEED" |
Boolean - The Session allows binding a Guaranteed Flow to an endpoint. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_BROWSER "SESSION_CAPABILITY_BROWSER" |
Boolean - The Session allows binding to a Queue as a Browser. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_TEMP_ENDPOINT "SESSION_CAPABILITY_TEMP_ENDPOINT" |
Boolean - The Session allows the creation of temporary endpoints (Queues / TopicEndpoints). More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_JNDI "SESSION_CAPABILITY_JNDI" |
Boolean - The Session accepts JNDI queries. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_COMPRESSION "SESSION_CAPABILITY_COMPRESSION" |
Boolean - The Session accepts compressed (DEFLATE) data. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_SELECTOR "SESSION_CAPABILITY_SELECTOR" |
Boolean - The Session supports a selector on Flows. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_ENDPOINT_MANAGEMENT "SESSION_CAPABILITY_ENDPOINT_MANAGEMENT" |
The Session is allowed to create/delete durable endpoints dynamically. More... | |
#define | SOLCLIENT_SESSION_PEER_PLATFORM "SESSION_PEER_PLATFORM" |
String - A broker/peer returned string that describes the hardware platform. More... | |
#define | SOLCLIENT_SESSION_PEER_SOFTWARE_DATE "SESSION_PEER_SOFTWARE_DATE" |
String - A broker/peer returned string that contains the release date for the broker software. More... | |
#define | SOLCLIENT_SESSION_PEER_SOFTWARE_VERSION "SESSION_PEER_SOFTWARE_VERSION" |
String - A broker/peer returned string that contains the version information. More... | |
#define | SOLCLIENT_SESSION_PEER_PORT_SPEED "SESSION_PEER_PORT_SPEED" |
Uint32 - The maximum rate (in Megabits/second) supported by the broker/peer port. More... | |
#define | SOLCLIENT_SESSION_PEER_PORT_TYPE "SESSION_PEER_PORT_TYPE" |
String - The broker/peer port type. More... | |
#define | SOLCLIENT_SESSION_PEER_ROUTER_NAME "SESSION_PEER_ROUTER_NAME" |
String - The broker/peer Appliance Name, typically used to direct management requests. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_MAX_GUARANTEED_MSG_SIZE "SESSION_CAPABILITY_MAX_GUARANTEED_MSG_SIZE" |
Uint32 - The maximum size (in bytes) of a Guaranteed message, including all optional message headers and data. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_MAX_DIRECT_MSG_SIZE "SESSION_CAPABILITY_MAX_DIRECT_MSG_SIZE" |
Uint32 - The maximum size (in bytes) of a Direct message, including all optional message headers and data. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_ENDPOINT_MESSAGE_TTL "SESSION_CAPABILITY_ENDPOINT_MESSAGE_TTL" |
Boolean - The Session supports message Time-to-Live (TTL) (this only applies to messages that are spooled) in published messages. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_QUEUE_SUBSCRIPTIONS "SESSION_CAPABILITY_QUEUE_SUBSCRIPTIONS" |
Boolean - The Session supports adding subscription to durable and non-durable queues on the peer. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_SUBSCRIPTION_MANAGER "SESSION_CAPABILITY_SUBSCRIPTION_MANAGER" |
Boolean - The broker supports adding subscriptions on behalf of other client names. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_MESSAGE_ELIDING "SESSION_CAPABILITY_MESSAGE_ELIDING" |
Boolean - The Session supports message eliding. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_NO_LOCAL "SESSION_CAPABILITY_NO_LOCAL" |
Boolean - The Session supports No Local. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_PER_TOPIC_SEQUENCE_NUMBERING "SESSION_CAPABILITY_PER_TOPIC_SEQUENCE_NUMBERING" |
Boolean - The peer can insert per Topic sequence numbers. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_ENDPOINT_DISCARD_BEHAVIOR "SESSION_CAPABILITY_ENDPOINT_DISCARD_BEHAVIOR" |
Boolean - The peer endpoints can be provisioned with discard behavior. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_ACTIVE_FLOW_INDICATION "SESSION_CAPABILITY_ACTIVE_FLOW_INDICATION" |
Boolean - TRUE if session supports active flow indication parameter. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_TRANSACTED_SESSION "SESSION_CAPABILITY_TRANSACTED_SESSION" |
Boolean - The Session allows Guaranteed Data Transacted Sessions. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_OPENMAMA "SESSION_CAPABILITY_OPENMAMA" |
Boolean - The Session allows the OpenMAMA API to be used. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_MESSAGE_REPLAY "SESSION_CAPABILITY_MESSAGE_REPLAY" |
Boolean - The Session allow Message Replay on flow create. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_COMPRESSED_SSL "SESSION_CAPABILITY_COMPRESSED_SSL" |
Boolean - The peer can support ssl downgrade to compression. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_LONG_SELECTORS "SESSION_CAPABILITY_LONG_SELECTORS" |
Boolean - The peer can support selectors longer than 1023 bytes. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_SHARED_SUBSCRIPTIONS "SESSION_CAPABILITY_SHARED_SUBSCRIPTIONS" |
Boolean - The peer can support #shared and #noexport subscriptions. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_BR_REPLAY_ERRORID "SESSION_CAPABILITY_BR_REPLAY_ERRORID" |
Boolean - The peer can support the endpoint error id parameter on the flow bind response during message replay. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_AD_APP_ACK_FAILED "SESSION_CAPABILITY_AD_APP_ACK_FAILED" |
Boolean - The broker supports FAILED and REJECTED message settlement outcomes. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_VAR_LEN_EXT_PARAM "SESSION_CAPABILITY_VAR_LEN_EXT_PARAM" |
Boolean - The peer can support variable length extended parameters. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_AD_APP_ACK_FAILED "SESSION_CAPABILITY_AD_APP_ACK_FAILED" |
Boolean - The broker supports FAILED and REJECTED message settlement outcomes. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_ADCTRL_VERSION_MIN "SESSION_CAPABILITY_ADCTRL_VERSION_MIN" |
Uint32 - Lowest AdCtrl version supported by the broker. More... | |
#define | SOLCLIENT_SESSION_CAPABILITY_ADCTRL_VERSION_MAX "SESSION_CAPABILITY_ADCTRL_VERSION_MAX" |
Uint32 - Highest AdCtrl version supported by the broker. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_HAS_PUBLISHER "TRANSACTEDSESSION_HAS_PUBLISHER" |
If it is enabled, a publisher flow is created when a Transacted Session is created successfully. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_CREATE_MESSAGE_DISPATCHER "TRANSACTEDSESSION_CREATE_MESSAGE_DISPATCHER" |
If it is enabled, a TransactedSession-bound Message Dispatcher is lazily created for asynchronous message delivery within a Transacted Session. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_REQUESTREPLY_TIMEOUT_MS "TRANSACTEDSESSION_REQUESTREPLY_TIMEOUT_MS" |
Timeout (in milliseconds) to wait for a response. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_PUB_WINDOW_SIZE "TRANSACTEDSESSION_PUB_WINDOW_SIZE" |
Transacted publisher window size, if supported by broker. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_DEFAULT_HAS_PUBLISHER SOLCLIENT_PROP_ENABLE_VAL |
By default, a publisher flow is automatically created when a Transacted Session is created. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_DEFAULT_CREATE_MESSAGE_DISPATCHER SOLCLIENT_PROP_DISABLE_VAL |
By default, the default Context-bound Message Dispatcher is used for asynchronous message delivery within a transacted session. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_DEFAULT_REQUESTREPLY_TIMEOUT_MS "10000" |
The default Transacted Session request timer in milliseconds. More... | |
#define | SOLCLIENT_TRANSACTEDSESSION_PROP_DEFAULT_PUB_WINDOW_SIZE "255" |
The default transacted publisher window size. More... | |
#define | SOLCLIENT_ERRORINFO_STR_SIZE (256) |
The maximum size of error string including terminating NULL character. More... | |
#define | SOLCLIENT_CONTEXT_CREATEFUNC_INITIALIZER {{NULL, NULL, NULL}} |
#define | SOLCLIENT_SESSION_CREATEFUNC_INITIALIZER {{NULL,NULL},{NULL,NULL},{NULL,NULL}} |
#define | SOLCLIENT_FLOW_CREATEFUNC_INITIALIZER {{NULL,NULL},{NULL,NULL},{NULL,NULL}} |
#define | SOLCLIENT_SESSION_DISPATCHFUNC_INITIALIZER(type) {type, NULL, NULL, NULL} |
#define | SOLCLIENT_FLOW_DISPATCHFUNC_INITIALIZER(type) {type, NULL, NULL, NULL} |
#define | SOLCLIENT_TRANSACTEDSESSION_MAX_SESSION_NAME_LENGTH 64 |
The maximum transacted session name length. More... | |
Default Log Filter Level | |
Definition of default log level that should be used for normal operation. This default log filter level can be passed to solClient_initialize() and solClient_log_setFilterLevel(). | |
#define | SOLCLIENT_LOG_DEFAULT_FILTER (SOLCLIENT_LOG_NOTICE) |
Default log filter level. More... | |
File Descriptor Event Types | |
Events that can be registered or unregistered for a file descriptor, through solClient_context_registerForFdEvents() and solClient_context_unregisterForFdEvents(), and returned when the events occur. Events can be ORed together. | |
#define | SOLCLIENT_FD_EVENT_READ (0x01) |
A readable file descriptor event. More... | |
#define | SOLCLIENT_FD_EVENT_WRITE (0x02) |
A writeable file descriptor event. More... | |
#define | SOLCLIENT_FD_EVENT_ALL (0x03) |
This type represents all defined file descriptor events. More... | |
Class of Service Value Types | |
Values that can be used to set the class of service of a message using solClient_msg_setClassOfService() | |
#define | SOLCLIENT_COS_1 (0x00) |
The lowest class of service value. More... | |
#define | SOLCLIENT_COS_2 (0x01) |
The middle class of service value. More... | |
#define | SOLCLIENT_COS_3 (0x02) |
The highest class of service value. More... | |
Delivery Mode Types | |
Values that can be used to set the delivery mode of a message using solClient_msg_setDeliveryMode() | |
#define | SOLCLIENT_DELIVERY_MODE_DIRECT (0x00) |
Send a Direct message. More... | |
#define | SOLCLIENT_DELIVERY_MODE_PERSISTENT (0x10) |
Send a Persistent message. More... | |
#define | SOLCLIENT_DELIVERY_MODE_NONPERSISTENT (0x20) |
Send a Non-Persistent message. More... | |
Subscriber Flag Types | |
Values that can be used as part of the flags field to solClient_session_topicSubscribeExt() and solClient_session_topicUnsubscribeExt(). | |
#define | SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM (0x02) |
The subscribe/unsubscribe call blocks until a confirmation is received. More... | |
#define | SOLCLIENT_SUBSCRIBE_FLAGS_LOCAL_DISPATCH_ONLY (0x08) |
For the topic dispatch feature, this flag indicates the subscription should only be added to the dispatch table and should not be added to the broker. More... | |
#define | SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM (0x10) |
Requests a confirmation for the subscribe/unsubscribe operation. More... | |
Certain session property modification Flag Types | |
Values that can be used as part of the flags field to solClient_session_modifyClientInfo() function. | |
#define | SOLCLIENT_MODIFYPROP_FLAGS_WAITFORCONFIRM (0x01) |
The modifyClientInfo API call blocks until a confirmation is received or its associated timer SOLCLIENT_SESSION_PROP_MODIFYPROP_TIMEOUT_MS expires. More... | |
UUID (Universally Unique Identifier) String Buffer Size | |
The size (in bytes) of the buffer required by solClient_generateUUIDString() to hold a UUID value in a string representation as per IETF RFC 4122, including the terminating NULL character. | |
#define | SOLCLIENT_UUID_STRING_BUFFER_SIZE (37) |
The size in bytes for string representation of UUID value. More... | |
Acknowledgment Event Mode | |
It specifies if a session event SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT acknowledges a single message or a range of messages. | |
#define | SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE_PER_MSG "SESSION_ACK_EVENT_MODE_PER_MSG" |
In this mode, a session event SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT acknowledges a single message. More... | |
#define | SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE_WINDOWED "SESSION_ACK_EVENT_MODE_WINDOWED" |
In this mode, a session event SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT is a ranged acknowledgment. More... | |
Configuration Properties Enable/Disable | |
For configuration property items that are on/off in nature, the value "1" is used to enable the property, and "0" is used to disable the property. Any non-zero value is converted to "1" for such properties. | |
#define | SOLCLIENT_PROP_ENABLE_VAL "1" |
The value used to enable the property. More... | |
#define | SOLCLIENT_PROP_DISABLE_VAL "0" |
The value used to disable the property. More... | |
Context properties with Context thread created automatically and all other properties at default values. | |
A convenience set of Context properties for use with solClient_context_create() that specify that the Context thread should be created automatically. All other Context properties are the default values, (that is, {SOLCLIENT_CONTEXT_PROP_CREATE_THREAD, SOLCLIENT_PROP_ENABLE_VAL, NULL}). | |
#define | SOLCLIENT_CONTEXT_PROPS_DEFAULT_WITH_CREATE_THREAD ((solClient_propertyArray_pt )_solClient_contextPropsDefaultWithCreateThread) |
Use with solClient_context_create() to create a Context in which the automatic Context thread is automatically created and all other properties are set with default values. More... | |
flowAckMode Flow Acknowledgment Modes | |
#define | SOLCLIENT_FLOW_PROP_ACKMODE_AUTO "1" |
Automatic application acknowledgment of all received messages. More... | |
#define | SOLCLIENT_FLOW_PROP_ACKMODE_CLIENT "2" |
Client must call solClient_flow_sendAck() to acknowledge the msgId specified. More... | |
Endpoint Naming Entities, used as values for ENDPOINT properties in | |
solClient_session_endpointProvision()/solClient_session_endpointDeprovision(), in solClient_session_createFlow(), and in solClient_session_endpointTopicSubscribe() / solClient_session_endpointTopicUnsubscribe(). | |
#define | SOLCLIENT_ENDPOINT_PROP_QUEUE "2" |
Request is for a Queue. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_TE "3" |
Request is for a Topic Endpoint. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_CLIENT_NAME "4" |
Request is for a Client name (solClient_session_endpointTopicSubscribe() / solClient_session_endpointTopicUnsubscribe()) only. More... | |
Endpoint Naming Entities, used as values for ENDPOINT properties in solClient_session_endpointProvision(). | |
#define | SOLCLIENT_ENDPOINT_PROP_ACCESSTYPE_NONEXCLUSIVE "0" |
A non-exclusive (shared) Queue. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_ACCESSTYPE_EXCLUSIVE "1" |
An exclusive Queue. More... | |
Endpoint Permissions | |
#define | SOLCLIENT_ENDPOINT_PERM_NONE "n" |
No permissions for other clients. More... | |
#define | SOLCLIENT_ENDPOINT_PERM_READ_ONLY "r" |
Read-only permission other clients may not consume messages. More... | |
#define | SOLCLIENT_ENDPOINT_PERM_CONSUME "c" |
Consumer permission other clients may read and consume messages. More... | |
#define | SOLCLIENT_ENDPOINT_PERM_MODIFY_TOPIC "m" |
Modify Topic permission other clients may read and consume messages, and modify Topic on a Topic Endpoint. More... | |
#define | SOLCLIENT_ENDPOINT_PERM_DELETE "d" |
Delete permission other clients may read and consume messages, modify the Topic on a Topic Endpoint, and delete the endpoint. More... | |
Endpoint Discard Msg Behavior | |
#define | SOLCLIENT_ENDPOINT_PROP_DISCARD_NOTIFY_SENDER_ON "1" |
Send the publisher a message reject notification SOLCLIENT_SESSION_EVENT_REJECTED_MSG_ERROR. More... | |
#define | SOLCLIENT_ENDPOINT_PROP_DISCARD_NOTIFY_SENDER_OFF "2" |
Discard the message and acknowledge it. More... | |
Replay Start Location | |
#define | SOLCLIENT_FLOW_PROP_REPLAY_START_LOCATION_BEGINNING "BEGINNING" |
Replay all messages in the replay log. More... | |
UserProps | |
#define | SOLCLIENT_MESSAGE_USER_PROP_QUEUE_PARTITION_KEY "JMSXGroupID" |
Key for getting or setting partition key for a queue where the message should/is published to when supported by a PubSub+ messaging broker. More... | |
Limits on sizes of message portions | |
#define | SOLCLIENT_BUFINFO_MAX_USER_DATA_SIZE (36) |
The maximum size allowed for the user-data portion. More... | |
#define | SOLCLIENT_BUFINFO_MAX_CORRELATION_TAG_SIZE (16) |
The maximum size allowed for the correlation tag portion. More... | |
#define | SOLCLIENT_BUFINFO_MAX_TOPIC_SIZE (250) |
The maximum size allowed for the topic portion (not including the terminating NULL). More... | |
#define | SOLCLIENT_BUFINFO_MAX_QUEUENAME_SIZE (250) |
The maximum size allowed for the Queue name portion (not including the terminating NULL). More... | |
#define | SOLCLIENT_SESSION_SEND_MULTIPLE_LIMIT 50 /**> The maximum number of messages which can be sent through a single call to solClient_session_sendMultipleMsg()*/ |
Invalid Value for a Timer Identifier | |
This can be used to distinguish between a timer identifier value that has been allocated and one that has not. | |
#define | SOLCLIENT_CONTEXT_TIMER_ID_INVALID (0xffffffff) |
An invalid value for a timer identifier. More... | |
Utilities to raise logs | |
#define | solClient_log(level,...) |
Allows the application to raise a log using the format of logs generated internally by the API. More... | |
#define | solClient_log_va_list(level, format_p, ap) |
Allows the application to raise a log that is similar to solClient_log. More... | |
Functions | |
solClient_dllExport solClient_returnCode_t | solClient_initialize (solClient_log_level_t initialLogLevel, solClient_propertyArray_pt props) |
This function must be called before any other API interface call is made, with the exception of solClient_log_setCallback(), which can be called first to intercept all logs, and solClient_log_setFile(), which can be used to change the log destination when the log callback is not in use. More... | |
solClient_dllExport solClient_returnCode_t | solClient_cleanup (void) |
This function may be called after use of the API is completed. More... | |
solClient_dllExport const char * | solClient_returnCodeToString (solClient_returnCode_t returnCode) |
Returns a string representation of the return code passed in. More... | |
solClient_dllExport const char * | solClient_subCodeToString (solClient_subCode_t subCode) |
Returns a string representation of the subcode passed in. More... | |
solClient_dllExport const char * | solClient_txStatToString (solClient_stats_tx_t txStat) |
Returns a string representation of the transmit statistic name for the given statistic constant passed in. More... | |
solClient_dllExport const char * | solClient_rxStatToString (solClient_stats_rx_t rxStat) |
Returns a string representation of the receive statistic name for the given statistic constant passed in. More... | |
solClient_dllExport solClient_errorInfo_pt | solClient_getLastErrorInfo (void) |
Returns a pointer to a solClient_errorInfo structure, which contains the last captured error information for the calling thread. More... | |
solClient_dllExport void | solClient_resetLastErrorInfo (void) |
Clears the last error info, which is recorded on a per-thread basis. More... | |
solClient_dllExport solClient_returnCode_t | solClient_version_get (solClient_version_info_pt *version_p) |
Returns version information for the API. More... | |
solClient_dllExport solClient_returnCode_t | solClient_generateUUID (solClient_uuid_t *uuid_p) |
Returns a Universally Unique Identifier (UUID) as a 128-bit value, as per IETF RFC 4122. More... | |
solClient_dllExport solClient_returnCode_t | solClient_generateUUIDString (char *uuid_p, size_t bufferSize) |
Returns a Universally Unique Identifier (UUID) as a NULL-terminated string, as per IETF RFC 4122. More... | |
solClient_dllExport solClient_returnCode_t | solClient_appendUUIDString (const char *inputStr, char *uuid_p, size_t bufferSize) |
Appends (after a '/' delimeter') a Universally Unique Identifier (UUID) as a NULL-terminated string to a given input string. More... | |
solClient_dllExport solClient_returnCode_t | solClient_log_setFilterLevel (solClient_log_category_t category, solClient_log_level_t level) |
Allows the log level filter to be set. More... | |
solClient_dllExport solClient_returnCode_t | solClient_log_setCallback (solClient_log_callbackFunc_t callback_p, void *user_p) |
Allows for the registration of an optional log callback, which is called each time a new, non-filtered, log message is emitted by the API. More... | |
solClient_dllExport solClient_returnCode_t | solClient_log_unsetCallback (void) |
Reset the log callback function to default log out behavior. More... | |
solClient_dllExport solClient_returnCode_t | solClient_log_setFile (const char *logFileName_p) |
Allows the log file, which defaults to stderr, to be changed to a file specified by the caller. More... | |
solClient_dllExport const char * | solClient_log_categoryToString (solClient_log_category_t category) |
Returns a string representation (for example, "API") of the log category passed in. More... | |
solClient_dllExport const char * | solClient_log_levelToString (solClient_log_level_t level) |
Returns a string representation (for example, "ERROR") of the log level passed in. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_create (solClient_propertyArray_pt props, solClient_opaqueContext_pt *opaqueContext_p, solClient_context_createFuncInfo_t *funcInfo_p, size_t funcInfoSize) |
Creates a new Context. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_destroy (solClient_opaqueContext_pt *opaqueContext_p) |
Destroys a previously created Context. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_registerForFdEvents (solClient_opaqueContext_pt opaqueContext_p, solClient_fd_t fd, solClient_fdEvent_t events, solClient_context_fdCallbackFunc_t callback_p, void *user_p) |
Allows the application to optionally register an application file descriptor for events (for example, SOLCLIENT_FD_EVENT_READ) for an application file descriptor. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_unregisterForFdEvents (solClient_opaqueContext_pt opaqueContext_p, solClient_fd_t fd, solClient_fdEvent_t events) |
Allows the application to optionally deregister an application file descriptor for events (for example, SOLCLIENT_FD_EVENT_READ) for an application file descriptor. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_processEvents (solClient_opaqueContext_pt opaqueContext_p) |
Must be called by the Context thread for a given Context to have events processed. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_processEventsWait (solClient_opaqueContext_pt opaqueContext_p, solClient_bool_t wait) |
This function must be called by the Context thread for a given Context to have events processed. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_startTimer (solClient_opaqueContext_pt opaqueContext_p, solClient_context_timerMode_t timerMode, solClient_uint32_t durationMs, solClient_context_timerCallbackFunc_t callback_p, void *user_p, solClient_context_timerId_t *timerId_p) |
Allows the application to start a timer. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_stopTimer (solClient_opaqueContext_pt opaqueContext_p, solClient_context_timerId_t *timerId_p) |
Allows the application to stop a previously started timer. More... | |
solClient_dllExport solClient_returnCode_t | solClient_context_timerTick (solClient_opaqueContext_pt opaqueContext_p) |
When the application takes over all file descriptor event generation, the application must also call this routine at regular intervals (specified by the Context property SOLCLIENT_CONTEXT_PROP_DEFAULT_TIME_RES_MS) to provide a timer tick for timer processing. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_create (solClient_propertyArray_pt props, solClient_opaqueContext_pt opaqueContext_p, solClient_opaqueSession_pt *opaqueSession_p, solClient_session_createFuncInfo_t *funcInfo_p, size_t funcInfoSize) |
Creates a new Session within a specified Context. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_destroy (solClient_opaqueSession_pt *opaqueSession_p) |
Destroys a previously created Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getContext (solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueContext_pt *opaqueContext_p) |
Returns the Context associated with the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_modifyProperties (solClient_opaqueSession_pt opaqueSession_p, solClient_propertyArray_pt props) |
Allows certain properties of a Session to be modified after the Session has been created. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_modifyClientInfo (solClient_opaqueSession_pt opaqueSession_p, solClient_propertyArray_pt props, solClient_modifyPropFlags_t flag, void *correlation_p) |
Allows the following client name and description properties of a Session to be modified after the Session has been created. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getProperty (solClient_opaqueSession_pt opaqueSession_p, const char *propertyName_p, char *buf_p, size_t bufSize) |
Gets the value of the specified Session property for the Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getCapability (solClient_opaqueSession_pt opaqueSession_p, const char *capabilityName_p, solClient_field_t *field_p, size_t fieldSize) |
Gets the value of the specified capability for the Session. More... | |
solClient_dllExport solClient_bool_t | solClient_session_isCapable (solClient_opaqueSession_pt opaqueSession_p, const char *capabilityName_p) |
Checks if the specified capability is set on the currently connected Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_connect (solClient_opaqueSession_pt opaqueSession_p) |
Connects the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_disconnect (solClient_opaqueSession_pt opaqueSession_p) |
Disconnects the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_startAssuredPublishing (solClient_opaqueSession_pt opaqueSession_p) |
This is a deprecated function. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_sendMsg (solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueMsg_pt msg_p) |
Sends a message on the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_sendSmf (solClient_opaqueSession_pt opaqueSession_p, solClient_bufInfo_pt smfBufInfo_p) |
Sends the given Solace Message Format (SMF) message on the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_sendMultipleMsg (solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueMsg_pt *msgArray_p, solClient_uint32_t numberOfMessages, solClient_uint32_t *numberOfMessagesWritten) |
Sends multiple messages on the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_sendMultipleSmf (solClient_opaqueSession_pt opaqueSession_p, solClient_bufInfo_pt smfBufInfo_p, solClient_uint32_t numberOfMessages) |
Sends multiple Solace Message Format (SMF) messages on the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_topicSubscribe (solClient_opaqueSession_pt opaqueSession_p, const char *topicSubscription_p) |
Adds a Topic subscription to a Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_topicSubscribeExt (solClient_opaqueSession_pt opaqueSession_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p) |
Adds a Topic subscription to a Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_topicSubscribeWithDispatch (solClient_opaqueSession_pt opaqueSession_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p, solClient_session_rxMsgDispatchFuncInfo_t *funcInfo_p, void *correlationTag) |
Adds a Topic subscription to a Session similar to solClient_session_topicSubscribeExt(), but this function also allows the application to specifiy a different message receive callback and different user_p. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_topicUnsubscribe (solClient_opaqueSession_pt opaqueSession_p, const char *topicSubscription_p) |
Removes a Topic subscription from a Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_topicUnsubscribeExt (solClient_opaqueSession_pt opaqueSession_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p) |
Removes a Topic subscription from a Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_topicUnsubscribeWithDispatch (solClient_opaqueSession_pt opaqueSession_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p, solClient_session_rxMsgDispatchFuncInfo_t *funcInfo_p, void *correlationTag) |
Removes a Topic subscription from a Session similar to solClient_session_topicUnsubscribeExt(), but this function also allows the application to specifiy a different message receive callback and different user_p. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_validateTopic (solClient_opaqueSession_pt opaqueSession_p, const char *topicString_p) |
Check a Topic string against Topic encoding rules for the broker. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_dteUnsubscribe (solClient_opaqueSession_pt opaqueSession_p, const char *teName_p, void *correlationTag) |
Sends a Topic Endpoint unsubscribe command to the broker. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getRxStats (solClient_opaqueSession_pt opaqueSession_p, solClient_stats_pt rxStats_p, solClient_uint32_t arraySize) |
Returns an array of Session receive statistics. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getRxStat (solClient_opaqueSession_pt opaqueSession_p, solClient_stats_rx_t rxStatType, solClient_stats_pt rxStat_p) |
Returns an individual receive statistic. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getTxStats (solClient_opaqueSession_pt opaqueSession_p, solClient_stats_pt txStats_p, solClient_uint32_t arraySize) |
Returns an array of Session transmit statistics. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_getTxStat (solClient_opaqueSession_pt opaqueSession_p, solClient_stats_tx_t txStatType, solClient_stats_pt txStat_p) |
Returns an individual transmit statistic. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_clearStats (solClient_opaqueSession_pt opaqueSession_p) |
Clears all of the receive and transmit statistics for the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_logStats (solClient_opaqueSession_pt opaqueSession_p, solClient_log_level_t level) |
Outputs a log at the specified log level at this moment containing the value of all receive and transmit statistics for the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_createTemporaryTopicName (solClient_opaqueSession_pt opaqueSession_p, char *topic_p, size_t length) |
Create a temporary Topic string. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_logFlowInfo (solClient_opaqueSession_pt opaqueSession_p, solClient_log_level_t level) |
Outputs a log at the specified log level at this moment containing the Flow state information for all Flows at this moment. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_sendRequest (solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueMsg_pt msg_p, solClient_opaqueMsg_pt *replyMsg_p, solClient_uint32_t timeout) |
Send a Topic Request message. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_sendReply (solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueMsg_pt rxmsg_p, solClient_opaqueMsg_pt replyMsg_p) |
Send a Reply Message. More... | |
solClient_dllExport const char * | solClient_session_eventToString (solClient_session_event_t sessionEvent) |
Returns a string representation of the Session event passed in. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_endpointProvision (solClient_propertyArray_pt props, solClient_opaqueSession_pt opaqueSession_p, solClient_uint32_t provisionFlags, void *correlationTag, char *queueNetworkName, size_t qnnSize) |
Provision, on the broker, a durable Queue or Topic Endpoint using the specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_endpointDeprovision (solClient_propertyArray_pt props, solClient_opaqueSession_pt opaqueSession_p, solClient_uint32_t provisionFlags, void *correlationTag) |
Remove an endpoint from the broker. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_endpointTopicSubscribe (solClient_propertyArray_pt endpointProps, solClient_opaqueSession_pt opaqueSession_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p, void *correlationTag) |
Add a Topic subscription to the endpoint defined by the endpoint properties if the operation is supported on the endpoint. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_endpointTopicUnsubscribe (solClient_propertyArray_pt endpointProps, solClient_opaqueSession_pt opaqueSession_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p, void *correlationTag) |
Remove a Topic subscription from the endpoint defined by the endpoint properties if the operation is supported on the endpoint. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_createFlow (solClient_propertyArray_pt props, solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueFlow_pt *opaqueFlow_p, solClient_flow_createFuncInfo_t *funcInfo_p, size_t funcInfoSize) |
Creates a new Flow within a specified Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_destroy (solClient_opaqueFlow_pt *opaqueFlow_p) |
Destroys a previously created Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_getSession (solClient_opaqueFlow_pt opaqueFlow_p, solClient_opaqueSession_pt *opaqueSession_p) |
Returns the Session associated with the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_sendAck (solClient_opaqueFlow_pt opaqueFlow_p, solClient_msgId_t msgId) |
This function is now just a convenience shorthand for calling solClient_flow_settleMsg() with the SOLCLIENT_OUTCOME_ACCEPTED outcome. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_settleMsg (solClient_opaqueFlow_pt opaqueFlow_p, solClient_msgId_t msgId, solClient_msgOutcome_t outcome) |
Sends a positive or negative acknowledgment on the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_stop (solClient_opaqueFlow_pt opaqueFlow_p) |
Closes the receiver on the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_start (solClient_opaqueFlow_pt opaqueFlow_p) |
Opens the receiver on the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_setMaxUnacked (solClient_opaqueFlow_pt opaqueFlow_p, solClient_int32_t maxUnacked) |
Changes the maximum number of unacknowledged messages that may be received on the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_getRxStats (solClient_opaqueFlow_pt opaqueFlow_p, solClient_stats_pt rxStats_p, solClient_uint32_t arraySize) |
Returns an array of Flow receive statistics. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_getRxStat (solClient_opaqueFlow_pt opaqueFlow_p, solClient_stats_rx_t rxStatType, solClient_stats_pt rxStat_p) |
Returns an individual receive statistic. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_getDestination (solClient_opaqueFlow_pt opaqueFlow_p, solClient_destination_t *dest_p, size_t destSize) |
Retrieve the destination for the Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_clearStats (solClient_opaqueFlow_pt opaqueFlow_p) |
Clears all the statistics (rx and tx) for the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_logStats (solClient_opaqueFlow_pt opaqueFlow_p, solClient_log_level_t level) |
Outputs a log at a specified log level that contains the value at this moment of all receive and transmit statistics for the specified Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_topicSubscribeWithDispatch (solClient_opaqueFlow_pt opaqueFlow_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p, solClient_flow_rxMsgDispatchFuncInfo_t *funcInfo_p, void *correlationTag) |
Allows messages received on an endpoint Flow to be dispatched to different message receive callbacks and with different user_p based on topic in the mesage. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_topicUnsubscribeWithDispatch (solClient_opaqueFlow_pt opaqueFlow_p, solClient_subscribeFlags_t flags, const char *topicSubscription_p, solClient_flow_rxMsgDispatchFuncInfo_t *funcInfo_p, void *correlationTag) |
Removes a topic dispatch from an endpoint Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_getProperty (solClient_opaqueFlow_pt opaqueFlow_p, const char *propertyName_p, char *buf_p, size_t bufSize) |
Gets the value of the specified Flow property for the Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_logFlowInfo (solClient_opaqueFlow_pt opaqueFlow_p, solClient_log_level_t level) |
Outputs a log at the specified log level that contains the Flow state information for the given Flow. More... | |
solClient_dllExport const char * | solClient_flow_eventToString (solClient_flow_event_t flowEvent) |
Returns a string representation of the Flow event passed in. More... | |
solClient_dllExport solClient_returnCode_t | solClient_session_createTransactedSession (solClient_propertyArray_pt props, solClient_opaqueSession_pt session_p, solClient_opaqueTransactedSession_pt *transactedSession_p, void *rfu_p) |
Creates a Transacted Session object that is used in subsequent transactions. More... | |
solClient_dllExport solClient_returnCode_t | solClient_transactedSession_destroy (solClient_opaqueTransactedSession_pt *transactedSession_p) |
Destroys a previous created Transacted Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_transactedSession_rollback (solClient_opaqueTransactedSession_pt transactedSession_p) |
Rollback the active transaction of a specified Transacted Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_transactedSession_commit (solClient_opaqueTransactedSession_pt transactedSession_p) |
Commit the active transaction of a specified Transacted Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_transactedSession_sendMsg (solClient_opaqueTransactedSession_pt transactedSession_p, solClient_opaqueMsg_pt msg_p) |
Sends an Guaranteed Delivery message on the specified Transacted Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_transactedSession_createFlow (solClient_propertyArray_pt props, solClient_opaqueTransactedSession_pt transactedSession_p, solClient_opaqueFlow_pt *flow_p, solClient_flow_createFuncInfo_t *funcInfo_p, size_t funcInfoSize) |
Create a transacted consumer Flow within a specified Transacted Session. More... | |
solClient_dllExport solClient_returnCode_t | solClient_transactedSession_getSessionName (solClient_opaqueTransactedSession_pt transactedSession_p, char *nameBuf_p, size_t bufSize) |
Retrieve Transacted Session name. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_receiveMsg (solClient_opaqueFlow_pt flow_p, solClient_opaqueMsg_pt *msg_p, solClient_int32_t timeout) |
Receives a message from a specified Transacted Flow. More... | |
solClient_dllExport solClient_returnCode_t | solClient_flow_getTransactedSession (solClient_opaqueFlow_pt flow_p, solClient_opaqueTransactedSession_pt *transactedSession_p) |
Returns the Transacted Session pointer with the specified Flow. More... | |
enum | solClient_session_event { SOLCLIENT_SESSION_EVENT_UP_NOTICE = 0, SOLCLIENT_SESSION_EVENT_DOWN_ERROR = 1, SOLCLIENT_SESSION_EVENT_CONNECT_FAILED_ERROR = 2, SOLCLIENT_SESSION_EVENT_REJECTED_MSG_ERROR = 3, SOLCLIENT_SESSION_EVENT_SUBSCRIPTION_ERROR = 4, SOLCLIENT_SESSION_EVENT_RX_MSG_TOO_BIG_ERROR = 5, SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT = 6, SOLCLIENT_SESSION_EVENT_ASSURED_PUBLISHING_UP = 7, SOLCLIENT_SESSION_EVENT_ASSURED_CONNECT_FAILED = 8, SOLCLIENT_SESSION_EVENT_ASSURED_DELIVERY_DOWN = 8, SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_ERROR = 9, SOLCLIENT_SESSION_EVENT_DTE_UNSUBSCRIBE_ERROR = SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_ERROR, SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_OK = 10, SOLCLIENT_SESSION_EVENT_DTE_UNSUBSCRIBE_OK = SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_OK, SOLCLIENT_SESSION_EVENT_CAN_SEND = 11, SOLCLIENT_SESSION_EVENT_RECONNECTING_NOTICE = 12, SOLCLIENT_SESSION_EVENT_RECONNECTED_NOTICE = 13, SOLCLIENT_SESSION_EVENT_PROVISION_ERROR = 14, SOLCLIENT_SESSION_EVENT_PROVISION_OK = 15, SOLCLIENT_SESSION_EVENT_SUBSCRIPTION_OK = 16, SOLCLIENT_SESSION_EVENT_VIRTUAL_ROUTER_NAME_CHANGED = 17, SOLCLIENT_SESSION_EVENT_MODIFYPROP_OK = 18, SOLCLIENT_SESSION_EVENT_MODIFYPROP_FAIL = 19, SOLCLIENT_SESSION_EVENT_REPUBLISH_UNACKED_MESSAGES = 20 } |
Session events that can be given to the Session event callback routine registered for a Session. More... | |
enum | solClient_flow_event { SOLCLIENT_FLOW_EVENT_UP_NOTICE = 0, SOLCLIENT_FLOW_EVENT_DOWN_ERROR = 1, SOLCLIENT_FLOW_EVENT_BIND_FAILED_ERROR = 2, SOLCLIENT_FLOW_EVENT_REJECTED_MSG_ERROR = 3, SOLCLIENT_FLOW_EVENT_SESSION_DOWN = 4, SOLCLIENT_FLOW_EVENT_ACTIVE = 5, SOLCLIENT_FLOW_EVENT_INACTIVE = 6, SOLCLIENT_FLOW_EVENT_RECONNECTING = 7, SOLCLIENT_FLOW_EVENT_RECONNECTED = 8 } |
Flow events that can be given to the Flow event callback routine registered for a Flow. More... | |
typedef enum solClient_session_event | solClient_session_event_t |
Type for Session events. More... | |
typedef enum solClient_flow_event | solClient_flow_event_t |
Type for Flow events. More... | |
include file for the Solace Corporation Messaging API for C
Copyright 2007-2024 Solace Corporation. All rights reserved.
This include file provides the public constants and API calls for clients connecting to a Solace messaging broker.
#define SOLCLIENT_BUFINFO_MAX_CORRELATION_TAG_SIZE (16) |
The maximum size allowed for the correlation tag portion.
#define SOLCLIENT_BUFINFO_MAX_QUEUENAME_SIZE (250) |
The maximum size allowed for the Queue name portion (not including the terminating NULL).
The broker may further restrict the maximum length of the queuename, please consult the broker documentation.
#define SOLCLIENT_BUFINFO_MAX_TOPIC_SIZE (250) |
The maximum size allowed for the topic portion (not including the terminating NULL).
#define SOLCLIENT_BUFINFO_MAX_USER_DATA_SIZE (36) |
The maximum size allowed for the user-data portion.
#define SOLCLIENT_CONTEXT_CREATEFUNC_INITIALIZER {{NULL, NULL, NULL}} |
#define SOLCLIENT_CONTEXT_PROPS_DEFAULT_WITH_CREATE_THREAD ((solClient_propertyArray_pt )_solClient_contextPropsDefaultWithCreateThread) |
Use with solClient_context_create() to create a Context in which the automatic Context thread is automatically created and all other properties are set with default values.
#define SOLCLIENT_CONTEXT_TIMER_ID_INVALID (0xffffffff) |
An invalid value for a timer identifier.
#define SOLCLIENT_COS_1 (0x00) |
The lowest class of service value.
For guaranteed messaging, it means the low priority.
#define SOLCLIENT_COS_2 (0x01) |
The middle class of service value.
For guaranteed messaging, it is reserved for future use and is treated as the low priority.
#define SOLCLIENT_COS_3 (0x02) |
The highest class of service value.
For guaranteed messaging, it means the high priority.
#define SOLCLIENT_DELIVERY_MODE_DIRECT (0x00) |
Send a Direct message.
#define SOLCLIENT_DELIVERY_MODE_NONPERSISTENT (0x20) |
Send a Non-Persistent message.
#define SOLCLIENT_DELIVERY_MODE_PERSISTENT (0x10) |
Send a Persistent message.
#define SOLCLIENT_ENDPOINT_PERM_CONSUME "c" |
Consumer permission other clients may read and consume messages.
#define SOLCLIENT_ENDPOINT_PERM_DELETE "d" |
Delete permission other clients may read and consume messages, modify the Topic on a Topic Endpoint, and delete the endpoint.
#define SOLCLIENT_ENDPOINT_PERM_MODIFY_TOPIC "m" |
Modify Topic permission other clients may read and consume messages, and modify Topic on a Topic Endpoint.
#define SOLCLIENT_ENDPOINT_PERM_NONE "n" |
No permissions for other clients.
#define SOLCLIENT_ENDPOINT_PERM_READ_ONLY "r" |
Read-only permission other clients may not consume messages.
#define SOLCLIENT_ENDPOINT_PROP_ACCESSTYPE_EXCLUSIVE "1" |
An exclusive Queue.
The first client to bind receives the stored messages on the Endpoint.
#define SOLCLIENT_ENDPOINT_PROP_ACCESSTYPE_NONEXCLUSIVE "0" |
A non-exclusive (shared) Queue.
Each client to bind receives messages in a round robin fashion.
#define SOLCLIENT_ENDPOINT_PROP_CLIENT_NAME "4" |
Request is for a Client name (solClient_session_endpointTopicSubscribe() / solClient_session_endpointTopicUnsubscribe()) only.
#define SOLCLIENT_ENDPOINT_PROP_DISCARD_NOTIFY_SENDER_OFF "2" |
Discard the message and acknowledge it.
#define SOLCLIENT_ENDPOINT_PROP_DISCARD_NOTIFY_SENDER_ON "1" |
Send the publisher a message reject notification SOLCLIENT_SESSION_EVENT_REJECTED_MSG_ERROR.
#define SOLCLIENT_ENDPOINT_PROP_QUEUE "2" |
Request is for a Queue.
#define SOLCLIENT_ENDPOINT_PROP_TE "3" |
Request is for a Topic Endpoint.
#define SOLCLIENT_ERRORINFO_STR_SIZE (256) |
The maximum size of error string including terminating NULL character.
#define SOLCLIENT_FD_EVENT_ALL (0x03) |
This type represents all defined file descriptor events.
#define SOLCLIENT_FD_EVENT_READ (0x01) |
A readable file descriptor event.
#define SOLCLIENT_FD_EVENT_WRITE (0x02) |
A writeable file descriptor event.
#define SOLCLIENT_FLOW_CREATEFUNC_INITIALIZER {{NULL,NULL},{NULL,NULL},{NULL,NULL}} |
#define SOLCLIENT_FLOW_DISPATCHFUNC_INITIALIZER | ( | type | ) | {type, NULL, NULL, NULL} |
#define SOLCLIENT_FLOW_PROP_ACKMODE_AUTO "1" |
Automatic application acknowledgment of all received messages.
If application calls solClient_flow_sendAck() in the SOLCLIENT_FLOW_PROP_ACKMODE_AUTO mode, a warning is generated.
#define SOLCLIENT_FLOW_PROP_ACKMODE_CLIENT "2" |
Client must call solClient_flow_sendAck() to acknowledge the msgId specified.
#define SOLCLIENT_FLOW_PROP_REPLAY_START_LOCATION_BEGINNING "BEGINNING" |
Replay all messages in the replay log.
#define solClient_log | ( | level, | |
... | |||
) |
Allows the application to raise a log using the format of logs generated internally by the API.
An application can use this if it does not have its own logging facility. A log is only raised if the specified log level exceeds the log filter level in force for the application log category. Note that if an application has registered a log callback using solClient_SetLogCallback, then when solClient_Log is called, the log callback is invoked.
The format of this call is similar to printf, with a format string followed by a variable list of parameters.
solClient_log is only available if the applications are compiled with PROVIDE_LOG_UTILITIES defined (-DPROVIDE_LOG_UTILITIES).
example: solClient_log(SOLCLIENT_LOG_NOTICE, "Value is %d", value);
level | The log level for the log being raised. |
#define SOLCLIENT_LOG_DEFAULT_FILTER (SOLCLIENT_LOG_NOTICE) |
Default log filter level.
#define solClient_log_va_list | ( | level, | |
format_p, | |||
ap | |||
) |
Allows the application to raise a log that is similar to solClient_log.
This routine accepts a va_list to hold the variable list of arguments that comes after format_p. This form is useful if a wrapper routine in the application has already received a variable list of arguments and has converted them to a va_list.
solClient_log_va_list is only available if the applications are compiled with PROVIDE_LOG_UTILITIES defined (-DPROVIDE_LOG_UTILITIES).
level | The log level for the log being raised. |
format_p | A pointer to a format string, in the printf style. |
ap | A va_list holding the remaining variable parameters. |
#define SOLCLIENT_MESSAGE_USER_PROP_QUEUE_PARTITION_KEY "JMSXGroupID" |
Key for getting or setting partition key for a queue where the message should/is published to when supported by a PubSub+ messaging broker.
This property should be a part of User Property map. Expected value is UTF-8 encoded up to 255 bytes long string.
#define SOLCLIENT_MODIFYPROP_FLAGS_WAITFORCONFIRM (0x01) |
The modifyClientInfo API call blocks until a confirmation is received or its associated timer SOLCLIENT_SESSION_PROP_MODIFYPROP_TIMEOUT_MS expires.
#define SOLCLIENT_PROP_DISABLE_VAL "0" |
The value used to disable the property.
#define SOLCLIENT_PROP_ENABLE_VAL "1" |
The value used to enable the property.
#define SOLCLIENT_PROVISION_FLAGS_IGNORE_EXIST_ERRORS (0x02) |
When set, it is not considered an error if the endpoint already exists (create) or does not exist (delete).
#define SOLCLIENT_PROVISION_FLAGS_WAITFORCONFIRM (0x01) |
#define SOLCLIENT_SESSION_CREATEFUNC_INITIALIZER {{NULL,NULL},{NULL,NULL},{NULL,NULL}} |
#define SOLCLIENT_SESSION_DISPATCHFUNC_INITIALIZER | ( | type | ) | {type, NULL, NULL, NULL} |
#define SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE_PER_MSG "SESSION_ACK_EVENT_MODE_PER_MSG" |
In this mode, a session event SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT acknowledges a single message.
#define SOLCLIENT_SESSION_PROP_ACK_EVENT_MODE_WINDOWED "SESSION_ACK_EVENT_MODE_WINDOWED" |
In this mode, a session event SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT is a ranged acknowledgment.
It acknowledges the message received as well as all preceding messages.
#define SOLCLIENT_SESSION_PROP_SSL_CIPHER_SUITES "SESSION_SSL_CIPHER_SUITES" |
This property specifies a comma separated list of the cipher suites.
Allowed cipher suites are: 'ECDHE-RSA-AES256-GCM-SHA384', 'ECDHE-RSA-AES256-SHA384', 'ECDHE-RSA-AES256-SHA', 'AES256-GCM-SHA384', 'AES256-SHA256', 'AES256-SHA', 'ECDHE-RSA-DES-CBC3-SHA', 'DES-CBC3-SHA', 'ECDHE-RSA-AES128-GCM-SHA256', 'ECDHE-RSA-AES128-SHA256', 'ECDHE-RSA-AES128-SHA', 'AES128-GCM-SHA256', 'AES128-SHA256', 'AES128-SHA', 'RC4-SHA', 'RC4-MD5', 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384', 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA', 'TLS_RSA_WITH_AES_256_GCM_SHA384', 'TLS_RSA_WITH_AES_256_CBC_SHA256', 'TLS_RSA_WITH_AES_256_CBC_SHA', 'TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA', 'SSL_RSA_WITH_3DES_EDE_CBC_SHA', 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA', 'TLS_RSA_WITH_AES_128_GCM_SHA256', 'TLS_RSA_WITH_AES_128_CBC_SHA256', 'TLS_RSA_WITH_AES_128_CBC_SHA', 'SSL_RSA_WITH_RC4_128_SHA', 'SSL_RSA_WITH_RC4_128_MD5'. Default: SOLCLIENT_SESSION_PROP_DEFAULT_SSL_CIPHER_SUITES.
#define SOLCLIENT_SESSION_PROP_SSL_TRUST_STORE_DIR "SESSION_SSL_TRUST_STORE_DIR" |
This property specifies the directory where the trusted certificates are.
The maximum depth for the certificate chain verification that shall be allowed is 3.
#define SOLCLIENT_SESSION_PROP_SSL_TRUSTED_COMMON_NAME_LIST "SESSION_SSL_TRUSTED_COMMON_NAME_LIST" |
NOT RECOMMENDED.
Per RFC-6125 section 6.4.4, the Common Name (CN) of a certificate should not be used to validate the certificate. Instead SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_HOST (enabled by default) indicates that the server certificate must contain a Subject Alternate Name (SAN) that matches the host name (SOLCLIENT_SESSION_PROP_HOST).
This property is only valid if SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_HOST is disabled. This property specifies a comma separated list of acceptable common names in certificate validation. The number of common names specified by an applications is limited to 16. Leading and trailing whitespaces are considered to be part of the common names and are not ignored. If the application does not provide any common names, there is no common name verification.
NOTE: When SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_HOST is enabled (default), this property should be set to an empty list. Failure to do so may cause the API to reject an otherwise valid certificate.
#define SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_DATE "SESSION_SSL_VALIDATE_CERTIFICATE_DATE" |
This property indicates if the session connection should fail when a certificate with an invalid date (current date before valid date, or current date after expiry) is received.
This property only applies when SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE is enabled.
Default: SOLCLIENT_SESSION_PROP_DEFAULT_SSL_VALIDATE_CERTIFICATE_DATE.
See also OpenSSL Certificate Validation
#define SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE_HOST "SESSION_SSL_VALIDATE_CERTIFICATE_HOST" |
This property indicates if the session connection should fail when a certificate with an invalid host is received.
When enabled, and connecting to a named host, the certificate Subject Alternative Name must contain a DNS entry that matches the host string. When enabled, and connecting to a host by IP address, the certificate Subject Alternative Name must contain an IP Address that matches. If there is no Subject Alternate Name the certificate common name (CN) must match the named host. This property only applies when SOLCLIENT_SESSION_PROP_SSL_VALIDATE_CERTIFICATE is enabled.
Default: SOLCLIENT_SESSION_PROP_DEFAULT_SSL_VALIDATE_CERTIFICATE_HOST.
See also OpenSSL Certificate Validation
#define SOLCLIENT_SESSION_SEND_MULTIPLE_LIMIT 50 /**> The maximum number of messages which can be sent through a single call to solClient_session_sendMultipleMsg()*/ |
#define SOLCLIENT_SUBSCRIBE_FLAGS_LOCAL_DISPATCH_ONLY (0x08) |
For the topic dispatch feature, this flag indicates the subscription should only be added to the dispatch table and should not be added to the broker.
#define SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM (0x10) |
Requests a confirmation for the subscribe/unsubscribe operation.
This bit is implied by SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM. If SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM is not set when this flag is set, then a confirmation event will be issued through the Session event callback procedure.
#define SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM (0x02) |
The subscribe/unsubscribe call blocks until a confirmation is received.
#define SOLCLIENT_TRANSACTEDSESSION_MAX_SESSION_NAME_LENGTH 64 |
The maximum transacted session name length.
#define SOLCLIENT_UUID_STRING_BUFFER_SIZE (37) |
The size in bytes for string representation of UUID value.
typedef unsigned char solClient_bool_t |
Boolean type (non-zero is true, 0 is false) .
typedef solClient_bufInfo_t* solClient_bufInfo_pt |
A pointer to solClient_bufInfo structure used to point to a message part and to indicate the size of that part (in bytes).
typedef struct solClient_bufInfo solClient_bufInfo_t |
typedef struct solClient_context_createRegisterFdFuncInfo solClient_context_createRegisterFdFuncInfo_t |
typedef void(* solClient_context_fdCallbackFunc_t)(solClient_opaqueContext_pt opaqueContext_p, solClient_fd_t fd, solClient_fdEvent_t events, void *user_p) |
A callback prototype for file descriptor events.
The callback with this prototype that is registered for a file descriptor event is called for each file descriptor event that occurs. Multiple registered file descriptor events can be returned in a single callback.
opaqueContext_p | A pointer to the Context under which the file descriptor event occurred. This pointer is never NULL. |
fd | The file descriptor for which the event has occurred. |
events | A bit vector containing the file descriptor events that have occurred ORed together. |
user_p | A pointer to opaque user data, provided when the callback registered. |
typedef solClient_returnCode_t(* solClient_context_registerFdFunc_t)(void *app_p, solClient_fd_t fd, solClient_fdEvent_t events, solClient_context_fdCallbackFunc_t callback_p, void *user_p) |
A function prototype for OPTIONAL application-supplied file descriptor registration service.
app_p | The opaque pointer that was supplied when the file descriptor register function was configured. This pointer was passed in as user_p through solClient_context_registerFdFuncInfo_t. |
fd | The file descriptor for which events are being registered. |
events | File descriptor events of interest, OR'ed together. These events must be added to any existing events registered for this file descriptor. |
callback_p | The event function to call when events occur on the file descriptor. This pointer is never NULL. |
user_p | An opaque pointer to be supplied to the callback routine when invoked. |
typedef void(* solClient_context_timerCallbackFunc_t)(solClient_opaqueContext_pt opaqueContext_p, void *user_p) |
A callback prototype for timer expiry.
The callback with this prototype that is registered when a timer is started.
opaqueContext_p | A pointer to Context under which the timer was started previously. This pointer is never NULL. |
user_p | A pointer to opaque user data that is provided when timer started. |
typedef solClient_uint32_t solClient_context_timerId_t |
Type for a timer identifier.
typedef enum solClient_context_timerMode solClient_context_timerMode_t |
Type of timer to start through solClient_context_startTimer().
typedef solClient_returnCode_t(* solClient_context_unregisterFdFunc_t)(void *app_p, solClient_fd_t fd, solClient_fdEvent_t events) |
A function prototype for OPTIONAL application-supplied file descriptor unregistration service.
app_p | An opaque pointer supplied when the file descriptor unregister function was configured. This pointer was passed in as user_p through solClient_context_registerFdFuncInfo_t. |
fd | The file descriptor for which events are being unregistered. |
events | Events no longer of interest, OR'ed together. |
typedef struct solClient_destination solClient_destination_t |
typedef enum solClient_destinationType solClient_destinationType_t |
typedef enum solClient_dispatchType solClient_dispatchType_t |
typedef struct solClient_errorInfo * solClient_errorInfo_pt |
A pointer to a solClient_errorInfo structure returned from solClient_getLastErrorInfo() .
typedef struct solClient_errorInfo solClient_errorInfo_t |
typedef int solClient_fd_t |
Type for a file descriptor.
typedef solClient_uint32_t solClient_fdEvent_t |
A mask of events that can be requested for a file descriptor.
typedef struct solClient_field solClient_field_t |
typedef enum solClient_fieldType solClient_fieldType_t |
typedef struct solClient_flow_createEventCallbackFuncInfo solClient_flow_createEventCallbackFuncInfo_t |
typedef struct solClient_flow_createFuncInfo solClient_flow_createFuncInfo_t |
typedef struct solClient_flow_createRxMsgCallbackFuncInfo solClient_flow_createRxMsgCallbackFuncInfo_t |
typedef enum solClient_flow_event solClient_flow_event_t |
Type for Flow events.
typedef void(* solClient_flow_eventCallbackFunc_t)(solClient_opaqueFlow_pt opaqueFlow_p, solClient_flow_eventCallbackInfo_pt eventInfo_p, void *user_p) |
A callback prototype for Flow events.
The callback with this prototype that is registered for a Flow is called for each Flow event that occurs.
When a Flow event is received that indicates an error condition (such as a bind failure), additional error information is recorded and can be retrieved through solClient_getLastErrorInfo.
opaqueFlow_p | A pointer to the Flow to which the event applies. This pointer is never NULL. |
eventInfo_p | A pointer to information about the Flow event, such as the event type. This pointer is never NULL. |
user_p | A pointer to opaque user data provided when callback is registered. |
typedef struct solClient_flow_eventCallbackInfo * solClient_flow_eventCallbackInfo_pt |
A pointer to solClient_flow_eventCallbackInfo structure of information returned with a Session event.
typedef solClient_rxMsgCallback_returnCode_t(* solClient_flow_rxMsgCallbackFunc_t)(solClient_opaqueFlow_pt opaqueFlow_p, solClient_opaqueMsg_pt msg_p, void *user_p) |
A callback prototype for received messages on a Flow.
A callback with this prototype can be registered for a Flow. If an application registers this callback it is called for each received message. When the callback is invoked for a received message, the application can use all the structured data accessors on the received message. It may also choose to keep all or part of the received message for later use.
If the application requires a message (or some of its parts) after this callback returns, the application has several options available:
In these cases, the application must call solClient_msg_free() to release the msg that was created by solClient_msg_dup. If the application takes control of the received msg it must later call solClient_msg_free() for that msg.
The implementation of this callback must return SOLCLIENT_CALLBACK_OK or SOLCLIENT_CALLBACK_TAKE_MSG
opaqueFlow_p | A pointer to the Flow for which the message has been received. This pointer is never NULL. |
msg_p | A pointer to an opaque message pointer (solClient_opaqueMsg_pt) for the received message. This pointer is never NULL. |
user_p | A pointer to opaque user data provided when the callback registered. |
typedef short solClient_int16_t |
16-bit signed integer type.
typedef long long solClient_int64_t |
64-bit signed integer type.
typedef signed char solClient_int8_t |
8-bit signed integer type.
typedef void(* solClient_log_callbackFunc_t)(solClient_log_callbackInfo_pt logInfo_p, void *user_p) |
A callback prototype for generated logs.
The callback with this prototype that is optionally globally registered is called for each log generated. Logs are filtered according to the log filter level set, and this routine is only called for logs that pass the level filter criteria. The log text must be used before the callback returns, as the pointer is no longer valid once the callback returns.
logInfo | A pointer to information about the log being generated, such as level and message. This pointer is never NULL. |
user_p | A pointer to opaque user data provided when the callback registered. |
typedef struct solClient_log_callbackInfo * solClient_log_callbackInfo_pt |
A pointer to solClient_log_callbackInfo structure of information returned with logs.
typedef struct solClient_log_callbackInfo solClient_log_callbackInfo_t |
typedef enum solClient_log_category solClient_log_category_t |
Type for log filter categories.
typedef enum solClient_log_level solClient_log_level_t |
Type for log levels.
typedef solClient_uint32_t solClient_modifyPropFlags_t |
A set of flags that can be provided to a solClient_session_modifyClientInfo() call.
typedef solClient_uint64_t solClient_msgId_t |
A unique msgId assigned to each Persistent and Non-Persistent message.
typedef enum solClient_msgOutcome solClient_msgOutcome_t |
typedef void* solClient_opaqueContainer_pt |
An opaque pointer to a container (such as a map or stream).
typedef void* solClient_opaqueContext_pt |
An opaque pointer to a processing Context.
typedef void* solClient_opaqueDatablock_pt |
An opaque pointer to a data block.
typedef void* solClient_opaqueFlow_pt |
An opaque pointer to a Flow.
typedef void* solClient_opaqueMsg_pt |
An opaque pointer to a message.
typedef void* * solClient_opaquePointer_pt |
An opaque pointer to a pointer.
typedef void* solClient_opaqueSession_pt |
An opaque pointer to a Session.
typedef void* solClient_opaqueTransactedSession_pt |
An opaque pointer to a Transacted Session.
typedef char** solClient_propertyArray_pt |
pointer to an array of string pointers for properties
typedef enum solClient_returnCode solClient_returnCode_t |
The type for API return codes.
typedef struct solClient_session_createEventCallbackFuncInfo solClient_session_createEventCallbackFuncInfo_t |
typedef struct solClient_session_createRxCallbackFuncInfo solClient_session_createRxCallbackFuncInfo_t |
typedef struct solClient_session_createRxMsgCallbackFuncInfo solClient_session_createRxMsgCallbackFuncInfo_t |
typedef enum solClient_session_event solClient_session_event_t |
Type for Session events.
typedef void(* solClient_session_eventCallbackFunc_t)(solClient_opaqueSession_pt opaqueSession_p, solClient_session_eventCallbackInfo_pt eventInfo_p, void *user_p) |
A callback prototype for Session events.
The callback with this prototype that is registered for a Session is called for each Session event that occurs.
When a Session event is received that indicates an error condition (such as the Session going down), additional error information is recorded and can be retrieved through solClient_getLastErrorInfo.
opaqueSession_p | A pointer to the Session to which the event applies. This pointer is never NULL. |
eventInfo_p | A pointer to information about the Session event, such as the event type. This pointer is never NULL. |
user_p | A pointer to opaque user data provided when the callback is registered. |
A pointer to solClient_session_eventCallbackInfo structure of information returned with a Session event.
typedef solClient_uint32_t solClient_session_responseCode_t |
An error response code that is returned with Session events.
typedef solClient_rxMsgCallback_returnCode_t(* solClient_session_rxMsgCallbackFunc_t)(solClient_opaqueSession_pt opaqueSession_p, solClient_opaqueMsg_pt msg_p, void *user_p) |
A callback prototype for received messages.
A callback with this prototype can be registered for a Session. If an application registers this callback, it is called for each received message. When the callback is invoked for a received message, the application can use all the structured data accessors on the received message. It can also choose to keep all or part of the received message for later use.
If the application requires a message (or some of its parts) after this callback returns, the application has several options available:
In these cases, the application must call solClient_msg_free() to release the msg that was created by solClient_msg_dup. If the application takes control of the received msg it must later call solClient_msg_free() for that msg.
The implementation of this callback must return SOLCLIENT_CALLBACK_OK or SOLCLIENT_CALLBACK_TAKE_MSG
opaqueSession_p | A pointer to the Session for which the message has been received. This pointer is never NULL. |
msg_p | A pointer to an opaque message pointer (solClient_opaqueMsg_pt) for the received message. This pointer is never NULL. |
user_p | A pointer to opaque user data provided when callback registered. |
typedef solClient_uint64_t * solClient_stats_pt |
Type of a pointer to a statistics value.
typedef enum solClient_stats_rx solClient_stats_rx_t |
Type that indicates which receive statistic.
typedef solClient_uint64_t solClient_stats_t |
Type of a statistics value.
typedef enum solClient_stats_tx solClient_stats_tx_t |
Type that indicates which transmit statistic.
typedef enum solClient_subCode solClient_subCode_t |
Type for API sub codes.
typedef solClient_uint32_t solClient_subscribeFlags_t |
A set of flags that can be provided to solClient_session_topicSubscribeExt() and solClient_session_topicUnsubscribeExt().
typedef unsigned short solClient_uint16_t |
16-bit unsigned integer type.
typedef unsigned long long solClient_uint64_t |
64-bit unsigned integer type.
typedef unsigned char solClient_uint8_t |
8-bit unsigned integer type.
typedef struct solClient_uuid solClient_uuid_t |
typedef struct solClient_version_info * solClient_version_info_pt |
A pointer to solClient_version_info structure holding version information.
typedef struct solClient_version_info solClient_version_info_t |
typedef wint_t solClient_wchar_t |
Wide character type (16-bit unicode character).
The type of timer to start through solClient_context_startTimer().
Type of dispatch function to perform for messages received on the topic.
see solClient_session_rxMsgDispatchFuncInfo and solClient_flow_rxMsgDispatchFuncInfo
Enumerator | |
---|---|
SOLCLIENT_DISPATCH_TYPE_CALLBACK |
Callback on the dispatch function immediately when a message arrives. |
enum solClient_fieldType |
Data types that can be transmitted by the machine-independent read and write functions.
enum solClient_flow_event |
Flow events that can be given to the Flow event callback routine registered for a Flow.
The Flow event callback is registered when a Flow is created through solClient_session_createFlow() and has the prototype solClient_flow_eventCallbackFunc_t. A Flow event can be converted to a string value through solClient_flow_eventToString().
Definition of SolClient log categories, which is used for log level filter control.
Each category can have its log level set independently. SOLCLIENT_LOG_CATEGORY_SDK refers to logs which are generated internally within the C API. SOLCLIENT_LOG_CATEGORY_APP refers to logs raised by the application through solClient_log(). A log category can be converted to a string through solClient_log_categoryToString().
enum solClient_log_level |
Definition of SolClient log levels.
To avoid affecting performance, do not set the API log filter level to SOLCLIENT_LOG_INFO or SOLCLIENT_LOG_DEBUG unless required for debugging. A log level can be converted to a string through solClient_log_levelToString().
enum solClient_msgOutcome |
The three different possible message outcomes that can be used to settle a message which was received on a flow.
see solClient_flow_settleMsg , SOLCLIENT_FLOW_PROP_REQUIRED_OUTCOME_FAILED , SOLCLIENT_FLOW_PROP_REQUIRED_OUTCOME_REJECTED
enum solClient_returnCode |
Return code from API calls.
A return code can be converted to a string through solClient_returnCodeToString().
The return code that the application returns to the API on each received message.
This is used by the message received functions with the prototype of solClient_session_rxMsgCallbackFunc_t or solClient_flow_rxMsgCallbackFunc_t.
Session events that can be given to the Session event callback routine registered for a Session.
The Session event callback is registered when a Session is created through solClient_session_create(), and it has the prototype solClient_session_eventCallbackFunc_t. A Session event can be converted to a string value through solClient_session_eventToString().
Enumerator | |
---|---|
SOLCLIENT_SESSION_EVENT_UP_NOTICE |
The Session is established. |
SOLCLIENT_SESSION_EVENT_DOWN_ERROR |
The Session was established and then went down. |
SOLCLIENT_SESSION_EVENT_CONNECT_FAILED_ERROR |
The Session attempted to connect but was unsuccessful. |
SOLCLIENT_SESSION_EVENT_REJECTED_MSG_ERROR |
The broker rejected a published message. |
SOLCLIENT_SESSION_EVENT_SUBSCRIPTION_ERROR |
The broker rejected a subscription (add or remove). |
SOLCLIENT_SESSION_EVENT_RX_MSG_TOO_BIG_ERROR |
The API discarded a received message that exceeded the Session buffer size. |
SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT |
The oldest transmitted Persistent/Non-Persistent message that has been acknowledged. |
SOLCLIENT_SESSION_EVENT_ASSURED_PUBLISHING_UP |
Deprecated – see notes in solClient_session_startAssuredPublishing. The AD Handshake (that is, Guaranteed Delivery handshake) has completed for the publisher and Guaranteed messages can be sent. |
SOLCLIENT_SESSION_EVENT_ASSURED_CONNECT_FAILED |
Deprecated – see notes in solClient_session_startAssuredPublishing. The broker rejected the AD Handshake to start Guaranteed publishing. Use SOLCLIENT_SESSION_EVENT_ASSURED_DELIVERY_DOWN instead. |
SOLCLIENT_SESSION_EVENT_ASSURED_DELIVERY_DOWN |
Guaranteed Delivery publishing is not available. The guaranteed delivery capability on the session has been disabled by some action on the broker. |
SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_ERROR |
The Topic Endpoint unsubscribe command failed. |
SOLCLIENT_SESSION_EVENT_DTE_UNSUBSCRIBE_ERROR |
Deprecated name; SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_ERROR is preferred. |
SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_OK |
The Topic Endpoint unsubscribe completed. |
SOLCLIENT_SESSION_EVENT_DTE_UNSUBSCRIBE_OK |
Deprecated name; SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_OK is preferred. |
SOLCLIENT_SESSION_EVENT_CAN_SEND |
The send is no longer blocked. |
SOLCLIENT_SESSION_EVENT_RECONNECTING_NOTICE |
The Session has gone down, and an automatic reconnect attempt is in progress. |
SOLCLIENT_SESSION_EVENT_RECONNECTED_NOTICE |
The automatic reconnect of the Session was successful, and the Session was established again. |
SOLCLIENT_SESSION_EVENT_PROVISION_ERROR |
The endpoint create/delete command failed. |
SOLCLIENT_SESSION_EVENT_PROVISION_OK |
The endpoint create/delete command completed. |
SOLCLIENT_SESSION_EVENT_SUBSCRIPTION_OK |
The subscribe or unsubscribe operation has succeeded. |
SOLCLIENT_SESSION_EVENT_VIRTUAL_ROUTER_NAME_CHANGED |
The broker's Virtual Router Name changed during a reconnect operation. This could render existing queues or temporary topics invalid. |
SOLCLIENT_SESSION_EVENT_MODIFYPROP_OK |
The session property modification completed. |
SOLCLIENT_SESSION_EVENT_MODIFYPROP_FAIL |
The session property modification failed. |
SOLCLIENT_SESSION_EVENT_REPUBLISH_UNACKED_MESSAGES |
After successfully reconnecting a disconnected session, the SDK received an unknown publisher flow name response when reconnecting the GD publisher flow. If configured to auto-retry (See SOLCLIENT_SESSION_PROP_GD_RECONNECT_FAIL_ACTION.) this event is generated to indicate how many unacknowledged messages are retransmitted on success. As the publisher state has been lost on failover, receiving this event may indicate that some messages have been duplicated in the system. |
enum solClient_stats_rx |
Receive statistics (64-bit counters).
Index into array of receive statistics.
Enumerator | |
---|---|
SOLCLIENT_STATS_RX_DIRECT_BYTES |
The number of bytes received. |
SOLCLIENT_STATS_RX_BYTES |
Deprecated name, SOLCLIENT_STATS_RX_DIRECT_BYTES is preferred. |
SOLCLIENT_STATS_RX_DIRECT_MSGS |
The number of messages received. |
SOLCLIENT_STATS_RX_MSGS |
Deprecated name, SOLCLIENT_STATS_RX_DIRECT_MSGS is preferred. |
SOLCLIENT_STATS_RX_READS |
The number of non-empty reads. |
SOLCLIENT_STATS_RX_DISCARD_IND |
The number of receive messages with discard indication set. |
SOLCLIENT_STATS_RX_DISCARD_SMF_UNKNOWN_ELEMENT |
The number of messages discarded due to the presence of an unknown element or unknown protocol in the Solace Message Format (SMF) header. |
SOLCLIENT_STATS_RX_DISCARD_MSG_HDR_ERROR |
Deprecated, use the more accurately named SOLCLIENT_STATS_RX_DISCARD_SMF_UNKNOWN_ELEMENT instead. |
SOLCLIENT_STATS_RX_DISCARD_MSG_TOO_BIG |
The number of messages discarded due to msg too large. |
SOLCLIENT_STATS_RX_ACKED |
The number of acknowledgments sent for Guaranteed messages. |
SOLCLIENT_STATS_RX_DISCARD_DUPLICATE |
The number of Guaranteed messages dropped for being duplicates. |
SOLCLIENT_STATS_RX_DISCARD_NO_MATCHING_FLOW |
The number of Guaranteed messages discarded due to no match on the flowId. |
SOLCLIENT_STATS_RX_DISCARD_OUTOFORDER |
The number of Guaranteed messages discarded for being received out of order. |
SOLCLIENT_STATS_RX_PERSISTENT_BYTES |
The number of Persistent bytes received on the Flow. On the Session, it is the total number of Persistent bytes received across all Flows. |
SOLCLIENT_STATS_RX_PERSISTENT_MSGS |
The number of Persistent messages received on the Flow. On the Session, it is the total number of Persistent messages received across all Flows. |
SOLCLIENT_STATS_RX_NONPERSISTENT_BYTES |
The number of Persistent bytes received on the Flow. On the Session, it is the total number of Persistent bytes received across all Flows. |
SOLCLIENT_STATS_RX_NONPERSISTENT_MSGS |
The number of Persistent messages received on the Flow. On the Session, it is the total number of Persistent messages received across all Flows. |
SOLCLIENT_STATS_RX_CTL_MSGS |
The number of control (non-data) messages received. |
SOLCLIENT_STATS_RX_CTL_BYTES |
The number of bytes received in control (non-data) messages. |
SOLCLIENT_STATS_RX_TOTAL_DATA_BYTES |
The total number of data bytes received. |
SOLCLIENT_STATS_RX_TOTAL_DATA_MSGS |
The total number of data messages received. |
SOLCLIENT_STATS_RX_COMPRESSED_BYTES |
The number of bytes received before decompression. This metric only applies to transport/channel compression |
SOLCLIENT_STATS_RX_REPLY_MSG |
The reply messages received. |
SOLCLIENT_STATS_RX_REPLY_MSG_DISCARD |
The reply messages (including cache request response) discarded due to errors in response format or no outstanding request. |
SOLCLIENT_STATS_RX_CACHEREQUEST_OK_RESPONSE |
Cache requests completed OK. |
SOLCLIENT_STATS_RX_CACHEREQUEST_FULFILL_DATA |
Cache requests fulfilled by live data. |
SOLCLIENT_STATS_RX_CACHEREQUEST_ERROR_RESPONSE |
Cache requests failed due to solCache error response. |
SOLCLIENT_STATS_RX_CACHEREQUEST_DISCARD_RESPONSE |
Cache request response discarded due to errors in response format or no outstanding cache request. |
SOLCLIENT_STATS_RX_CACHEMSG |
Cached messages delivered to application. |
SOLCLIENT_STATS_RX_FOUND_CTSYNC |
Deprecated - Not Supported - On a cut-through Flow, the number of times the Flow entered cut-through delivery mode. |
SOLCLIENT_STATS_RX_LOST_CTSYNC |
Deprecated - Not Supported - On a cut-through Flow, the number of times the Flow left cut-through delivery mode to resynchronize with the Guaranteed message storage on the broker. |
SOLCLIENT_STATS_RX_LOST_CTSYNC_GM |
Deprecated - Not Supported - On a cut-through Flow, the number of times the Flow left cut-through delivery mode to resynchronize with the Guaranteed message storage due to receiving a Guaranteed message that was not previously received as Direct. |
SOLCLIENT_STATS_RX_OVERFLOW_CTSYNC_BUFFER |
Deprecated - Not Supported - On a cut-through Flow, the number of times the synchronization buffer overflowed, delaying synchronization. |
SOLCLIENT_STATS_RX_ALREADY_CUT_THROUGH |
Deprecated - Not Supported - On a cut-through Flow, the number of Guaranteed messages discarded because they had already been received on the cut-through Flow. |
SOLCLIENT_STATS_RX_DISCARD_FROM_CTSYNC |
Deprecated - Not Supported - On a cut-through Flow, the number of messages discarded from the synchronization list other than those discarded due to overflow. |
SOLCLIENT_STATS_RX_DISCARD_MSG_FLOW_UNBOUND_PENDING |
On a transacted flow, the number of messages discarded because the flow is in a UNBOUND pending state. |
SOLCLIENT_STATS_RX_DISCARD_MSG_TRANSACTION_ROLLBACK |
On a transacted flow, the number of messages discarded after a transaction rollback and becomes a message comes in with prevMsgId=0. |
SOLCLIENT_STATS_RX_DISCARD_TRANSACTION_RESPONSE |
On a transacted session, the number of transaction responses discarded due to reconnection. |
SOLCLIENT_STATS_RX_SSL_READ_EVENTS | |
SOLCLIENT_STATS_RX_SSL_READ_CALLS | |
SOLCLIENT_STATS_RX_SETTLE_ACCEPTED |
Number of messages settled with "ACCEPTED" outcome. |
SOLCLIENT_STATS_RX_SETTLE_FAILED |
Number of messages settled with "FAILED" outcome. |
SOLCLIENT_STATS_RX_SETTLE_REJECTED |
Number of messages settled with "REJECTED" outcome. |
SOLCLIENT_STATS_RX_NUM_STATS |
The size of receive stats array. |
enum solClient_stats_tx |
Transmit statistics (64-bit counters).
Index into array of transmit statistics.
Enumerator | |
---|---|
SOLCLIENT_STATS_TX_TOTAL_DATA_BYTES |
The number of data bytes transmitted in total. |
SOLCLIENT_STATS_TX_BYTES |
Deprecated name; SOLCLIENT_STATS_TX_TOTAL_DATA_BYTES is preferred. |
SOLCLIENT_STATS_TX_TOTAL_DATA_MSGS |
The number of data messages transmitted in total. |
SOLCLIENT_STATS_TX_MSGS |
Deprecated name; SOLCLIENT_STATS_TX_TOTAL_DATA_MSGS is preferred. |
SOLCLIENT_STATS_TX_WOULD_BLOCK |
The number of messages not accepted due to would block (non-blocking only). |
SOLCLIENT_STATS_TX_SOCKET_FULL |
The number of times the socket was full when send done (data buffered). |
SOLCLIENT_STATS_TX_DIRECT_BYTES |
The number of bytes transmitted in Direct messages. |
SOLCLIENT_STATS_TX_DIRECT_MSGS |
The number of Direct messages transmitted. |
SOLCLIENT_STATS_TX_PERSISTENT_BYTES |
The number of bytes transmitted in Persistent messages. |
SOLCLIENT_STATS_TX_NONPERSISTENT_BYTES |
The number of bytes transmitted in Non-Persistent messages. |
SOLCLIENT_STATS_TX_PERSISTENT_MSGS |
The number of Persistent messages transmitted. |
SOLCLIENT_STATS_TX_NONPERSISTENT_MSGS |
The number of Non-Persistent messages transmitted. |
SOLCLIENT_STATS_TX_PERSISTENT_REDELIVERED |
The number of Persistent messages redelivered. |
SOLCLIENT_STATS_TX_NONPERSISTENT_REDELIVERED |
The number of Non-Persistent messages redelivered. |
SOLCLIENT_STATS_TX_PERSISTENT_BYTES_REDELIVERED |
The number of bytes redelivered in Persistent messages. |
SOLCLIENT_STATS_TX_NONPERSISTENT_BYTES_REDELIVERED |
The number of bytes redelivered in Non-Persistent messages. |
SOLCLIENT_STATS_TX_ACKS_RXED |
The number of acknowledgments received. |
SOLCLIENT_STATS_TX_WINDOW_CLOSE |
The number of times the transmit window closed. |
SOLCLIENT_STATS_TX_ACK_TIMEOUT |
The number of times the acknowledgment timer expired. |
SOLCLIENT_STATS_TX_CTL_MSGS |
The number of control (non-data) messages transmitted. |
SOLCLIENT_STATS_TX_CTL_BYTES |
The number of bytes transmitted in control (non-data) messages. |
SOLCLIENT_STATS_TX_COMPRESSED_BYTES |
The number of bytes transmitted after compression. This metric only applies to transport/channel compression |
SOLCLIENT_STATS_TX_TOTAL_CONNECTION_ATTEMPTS |
The total number of TCP connections attempted by this Session. |
SOLCLIENT_STATS_TX_REQUEST_SENT |
The request messages sent. |
SOLCLIENT_STATS_TX_REQUEST_TIMEOUT |
The request messages sent that did not receive a reply due to timeout. |
SOLCLIENT_STATS_TX_CACHEREQUEST_SENT |
The cache requests sent. |
SOLCLIENT_STATS_TX_GUARANTEED_MSGS_SENT_CONFIRMED |
Guaranteed messages (Persistent/Non-Persistent) published that have been acknowledged. |
SOLCLIENT_STATS_TX_DISCARD_NO_MATCH |
When the IPC add-on is in use, the counter of messages discarded due to no subscription match with connected peers. |
SOLCLIENT_STATS_TX_DISCARD_CHANNEL_ERROR |
Messages discarded due to channel failure. |
SOLCLIENT_STATS_TX_BLOCKED_ON_SEND |
The number of times Session blocked on socket full (blocking only) occurred. |
SOLCLIENT_STATS_TX_NUM_STATS |
The size of transmit stats array. |
enum solClient_subCode |
A subcode that provides more detailed error information.
The last subcode is stored on a per-thread basis and can be retrieved by an application thread.
NOTE: The error subCode is historic and only updated when an API does not return SOLCLIENT_OK. When an API call returns SOLCLIENT_OK the subCode is not meaningful and might not always be SOLCLIENT_SUBCODE_OK.
A subCode is always set when a API call does not return SOLCLIENT_OK.
The application must be able to accept any subcode to allow for new subcodes to be added in the future and allow for forward compatibility. When examining and acting on the subcode, the application should act on any specific subcodes it needs to take different actions on, and then must perform a default action for any other subcode value. A subcode can be converted to a string through solClient_subCodeToString().
The following subcodes can be returned from any API entry point:
SOLCLIENT_SUBCODE_INIT_NOT_CALLED (except for functions documented as being allowed to be called before solClient_initialize)
SOLCLIENT_SUBCODE_PARAM_OUT_OF_RANGE
SOLCLIENT_SUBCODE_PARAM_NULL_PTR (functions that accept pointer parameters)
SOLCLIENT_SUBCODE_PARAM_CONFLICT (functions that have interdependent parameters)
SOLCLIENT_SUBCODE_INTERNAL_ERROR
SOLCLIENT_SUBCODE_OS_ERROR
SOLCLIENT_SUBCODE_OUT_OF_MEMORY
SOLCLIENT_SUBCODE_CANNOT_BLOCK_IN_CONTEXT (functions that result in an interaction with the message router)
A complete list of SolClient subCodes, their meaning, and the broker response that caused them (when applicable) follows:
SubCode | Description | Appliance Error Response |
---|---|---|
SOLCLIENT_SUBCODE_OK | No error. | 200 OK |
SOLCLIENT_SUBCODE_PARAM_OUT_OF_RANGE | An API call was made with an out-of-range parameter. | N/A |
SOLCLIENT_SUBCODE_PARAM_NULL_PTR | An API call was made with a NULL pointer parameter. | N/A |
SOLCLIENT_SUBCODE_PARAM_CONFLICT | An API call was made with a parameter combination that is not valid. | N/A |
SOLCLIENT_SUBCODE_INSUFFICIENT_SPACE | An API call failed due to insufficient space to accept more data. | N/A |
SOLCLIENT_SUBCODE_OUT_OF_RESOURCES | An API call failed due to lack of resources (for example, starting a timer when all timers are in use). | 400 Not Enough Space |
SOLCLIENT_SUBCODE_INTERNAL_ERROR | An API call had an internal error (not an application fault). | N/A |
SOLCLIENT_SUBCODE_OUT_OF_MEMORY | An API call failed due to inability to allocate memory. | N/A |
SOLCLIENT_SUBCODE_PROTOCOL_ERROR | An API call failed due to a protocol error with the broker (not an application fault). | N/A |
SOLCLIENT_SUBCODE_INIT_NOT_CALLED | An API call failed due to solClient_initialize() not being called first. | N/A |
SOLCLIENT_SUBCODE_TIMEOUT | An API call failed due to a timeout. | N/A |
SOLCLIENT_SUBCODE_KEEP_ALIVE_FAILURE | The Session Keep-Alive detected a failed Session. | N/A |
SOLCLIENT_SUBCODE_SESSION_NOT_ESTABLISHED | An API call failed due to the Session not being established. | N/A |
SOLCLIENT_SUBCODE_OS_ERROR | An API call failed due to a failed operating system call. An error string can be retrieved with solClient_getLastErrorInfo(). | N/A |
SOLCLIENT_SUBCODE_COMMUNICATION_ERROR | An API call failed due to a communication error. An error string can be retrieved with solClient_getLastErrorInfo(). | N/A |
SOLCLIENT_SUBCODE_USER_DATA_TOO_LARGE | Attempt to send a message with user data larger than the maximum that is supported. | N/A |
SOLCLIENT_SUBCODE_TOPIC_TOO_LARGE | An attempt to use a Topic which is longer than the maximum that is supported. | N/A |
SOLCLIENT_SUBCODE_INVALID_TOPIC_SYNTAX | An attempt to use a Topic which has a syntax which is not supported. | 400 Topic Parse Error |
SOLCLIENT_SUBCODE_XML_PARSE_ERROR | The broker could not parse an XML message. | 400 XML Parse Error |
SOLCLIENT_SUBCODE_LOGIN_FAILURE | The client could not log into the broker (bad username or password, unknown parameter, etc.) | All 400, 401, 403 and 404 error codes from broker |
SOLCLIENT_SUBCODE_INVALID_VIRTUAL_ADDRESS | An attempt to connect to the wrong IP address on the broker (must use CVRID if configured), or the broker CVRID has changed and this was detected on reconnect. | 403 Invalid Virtual Router Address |
SOLCLIENT_SUBCODE_CLIENT_DELETE_IN_PROGRESS | The client login not currently possible as previous instance of same client still being deleted. | 503 Subscriber Delete In Progress |
SOLCLIENT_SUBCODE_TOO_MANY_CLIENTS | The client login not currently possible due to maximum number of active clients on broker has already been reached. | "503 Too Many Clients" "503 Too Many Publishers" "503 Too Many Subscribers" "400 Too Many Subscribers" |
SOLCLIENT_SUBCODE_SUBSCRIPTION_ALREADY_PRESENT | The client attempted to add a subscription which already exists - this subcode is only returned if the Session property SOLCLIENT_SESSION_PROP_IGNORE_DUP_SUBSCRIPTION_ERROR is not enabled. | "400 already exists" "400 Subscription Already Exists" |
SOLCLIENT_SUBCODE_SUBSCRIPTION_NOT_FOUND | The client attempted to remove a subscription which did not exist - this subcode is only returned if the Session property SOLCLIENT_SESSION_PROP_IGNORE_DUP_SUBSCRIPTION_ERROR is not enabled. | "400 not found" "400 Subscription Not Found" |
SOLCLIENT_SUBCODE_SUBSCRIPTION_INVALID | The client attempted to add/remove a subscription that is not valid. | "400 not supported" "400 parse error" "400 Subscription Parse Error" |
SOLCLIENT_SUBCODE_SUBSCRIPTION_OTHER | The broker rejected a subscription add or remove request for a reason not separately enumerated. | |
SOLCLIENT_SUBCODE_CONTROL_OTHER | The broker rejected a control message for another reason not separately enumerated. | Default error subCode for broker error responses |
SOLCLIENT_SUBCODE_DATA_OTHER | The broker rejected a data message for another reason not separately enumerated. | Default error subCode for error response to published data |
SOLCLIENT_SUBCODE_LOG_FILE_ERROR | Could not open the log file name specified by the application for writing (Deprecated - SOLCLIENT_SUBCODE_OS_ERROR is used). | N/A |
SOLCLIENT_SUBCODE_MESSAGE_TOO_LARGE | The client attempted to send a message larger than that supported by the broker. | "400 Document Is Too Large" "400 Message Too Long" |
SOLCLIENT_SUBCODE_SUBSCRIPTION_TOO_MANY | The client attempted to add a subscription that exceeded the maximum number allowed. | "400 Max Num Subscriptions Exceeded" |
SOLCLIENT_SUBCODE_INVALID_SESSION_OPERATION | An API call failed due to the attempted operation not being valid for the Session. | N/A |
SOLCLIENT_SUBCODE_TOPIC_MISSING | A send call was made that did not have a Topic in a mode where one is required (for example, client mode). | N/A |
SOLCLIENT_SUBCODE_ASSURED_MESSAGING_NOT_ESTABLISHED | A send call was made to send a Guaranteed message before Guaranteed Mesaging is established (Deprecated). | N/A |
SOLCLIENT_SUBCODE_ASSURED_MESSAGING_STATE_ERROR | An attempt was made to start Guaranteed Messaging when it is already started. | N/A |
SOLCLIENT_SUBCODE_QUEUENAME_TOPIC_CONFLICT | Both Queue name and Topic are specified in solClient_session_send. | N/A |
SOLCLIENT_SUBCODE_QUEUENAME_TOO_LARGE | An attempt was made to use a Queue name which is longer than the maximum supported length. | N/A |
SOLCLIENT_SUBCODE_QUEUENAME_INVALID_MODE | An attempt was made to use a Queue name on a non-Guaranteed (that is, Direct) message. | N/A |
SOLCLIENT_SUBCODE_MAX_TOTAL_MSGSIZE_EXCEEDED | An attempt was made to send a message with a total size greater than that supported by the protocol. | N/A |
SOLCLIENT_SUBCODE_DBLOCK_ALREADY_EXISTS | An attempt was made to allocate a datablock for a msg element when one already exists. | N/A |
SOLCLIENT_SUBCODE_NO_STRUCTURED_DATA | An attempt was made to create a container to read structured data where none exists. | N/A |
SOLCLIENT_SUBCODE_CONTAINER_BUSY | An attempt was made to add a field to a map or stream while a submap or substream is being built. | N/A |
SOLCLIENT_SUBCODE_INVALID_DATA_CONVERSION | An attempt was made to retrieve structured data with the wrong type. | N/A |
SOLCLIENT_SUBCODE_CANNOT_MODIFY_WHILE_NOT_IDLE | An attempt was made to modify a property that cannot be modified while Session is not idle. | N/A |
SOLCLIENT_SUBCODE_MSG_VPN_NOT_ALLOWED | The Message VPN name configured for the session does not exist. | 403 Message VPN Not Allowed |
SOLCLIENT_SUBCODE_CLIENT_NAME_INVALID | The client name chosen has been rejected as invalid by the broker. | 400 Client Name Parse Error |
SOLCLIENT_SUBCODE_MSG_VPN_UNAVAILABLE | The Message VPN name set for the Session (or the default VPN if none was set) is currently shutdown on the broker. | 503 Message VPN Unavailable |
SOLCLIENT_SUBCODE_CLIENT_USERNAME_IS_SHUTDOWN | The username for the client is administratively shutdown on the broker. | 403 Client Username Is Shutdown |
SOLCLIENT_SUBCODE_DYNAMIC_CLIENTS_NOT_ALLOWED | The username for the Session has not been set and dynamic clients are not allowed. | 403 Dynamic Clients Not Allowed |
SOLCLIENT_SUBCODE_CLIENT_NAME_ALREADY_IN_USE | The Session is attempting to use a client, publisher, or subscriber name that is in use by another client, publisher or subscriber and the broker is configured to reject the new Session. When Message VPNs are in use, the conflicting client name must be in the same Message VPN. | "403 Client Name Already In Use" "403 Publisher Name Already In Use" "403 Subscriber Name Already In Use" |
SOLCLIENT_SUBCODE_CACHE_NO_DATA | When the cache request returns SOLCLIENT_INCOMPLETE, this subcode indicates there is no cached data in the designated cache. | N/A |
SOLCLIENT_SUBCODE_CACHE_SUSPECT_DATA | When the designated cache responds to a cache request with suspect data the API returns SOLCLIENT_INCOMPLETE with this subcode. | N/A |
SOLCLIENT_SUBCODE_CACHE_ERROR_RESPONSE | The cache instance has returned an error response to the request. | N/A |
SOLCLIENT_SUBCODE_CACHE_INVALID_SESSION | The cache session operation failed because the Session has been destroyed. | N/A |
SOLCLIENT_SUBCODE_CACHE_TIMEOUT | The cache session operation failed because the request timeout expired. | N/A |
SOLCLIENT_SUBCODE_CACHE_LIVEDATA_FULFILL | The cache session operation completed when live data arrived on the requested topic. | N/A |
SOLCLIENT_SUBCODE_CACHE_ALREADY_IN_PROGRESS | A cache request has been made when there is already a cache request outstanding on the same Topic and SOLCLIENT_CACHEREQUEST_FLAGS_LIVEDATA_FLOWTHRU was not set. | N/A |
SOLCLIENT_SUBCODE_MISSING_REPLY_TO | A message does not have a required reply-to field. | N/A |
SOLCLIENT_SUBCODE_CANNOT_BIND_TO_QUEUE | Already bound to the Queue or not authorized to bind to the Queue. | "400 Cannot bind to another subscriber's topic queue" "400 Already Bound" |
SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_TE | An attempt was made to bind to a Guaranteed Delivery Topic Endpoint with an invalid topic. | 400 Invalid Topic Name |
SOLCLIENT_SUBCODE_UNKNOWN_QUEUE_NAME | An attempt was made to bind to an unknown Queue name (for example, not configured on broker). | 503 Unknown Queue |
SOLCLIENT_SUBCODE_UNKNOWN_TE_NAME | An attempt was made to bind to an unknown Guaranteed Delivery Topic Endpoint name (for example, not configured on broker). | "503 Unknown Durable Topic Endpoint" |
SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_QUEUE | An attempt was made to bind to a Guaranteed Delivery Queue which already has a maximum number of clients. | 503 Max clients exceeded for Queue |
SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_TE | An attempt was made to bind to a Guaranteed Delivery Topic Endpoint that already has a maximum number of clients. | 503 Max clients exceeded for durable Topic Endpoint |
SOLCLIENT_SUBCODE_UNEXPECTED_UNBIND | An unexpected unbind response was received for a Guaranteed Delivery Queue or Topic Endpoint (for example, Queue or Topic Endpoint was deleted from the broker). | N/A |
SOLCLIENT_SUBCODE_QUEUE_NOT_FOUND | The specified Guaranteed Delivery Queue was not found when publishing a message. | 400 Queue Not Found |
SOLCLIENT_SUBCODE_CLIENT_ACL_DENIED | The client login to the broker was denied because the IP address/netmask combination used for the client is designated in the ACL (Access Control List) as a deny connection for the given Message VPN and username. | 403 Forbidden |
SOLCLIENT_SUBCODE_SUBSCRIPTION_ACL_DENIED | The adding of a subscription was denied because it matched a subscription that was defined on the ACL (Access Control List). | 403 Subscription ACL Denied |
SOLCLIENT_SUBCODE_PUBLISH_ACL_DENIED | A message could not be published because its Topic matched that of a Topic defined on the ACL (Access Control List). | 403 Publish ACL Denied |
SOLCLIENT_SUBCODE_DELIVER_TO_ONE_INVALID | An attempt was made to set both Deliver-To-One and Guaranteed Delivery in the same message. (Deprecated: DTO will be applied to the corresponding demoted direct message) | N/A |
SOLCLIENT_SUBCODE_SPOOL_OVER_QUOTA | Message was not delivered because the Guaranteed Message spool is over its allotted space quota. | 503 Spool Over Quota |
SOLCLIENT_SUBCODE_QUEUE_SHUTDOWN | An attempt was made to operate on a shutdown Guaranteed Delivery queue. | 503 Queue Shutdown |
SOLCLIENT_SUBCODE_TE_SHUTDOWN | An attempt was made to operate on a shutdown Guaranteed Delivery Topic Endpoint. | 503 Durable Topic Endpoint Shutdown, 503 TE Shutdown |
SOLCLIENT_SUBCODE_NO_MORE_NON_DURABLE_QUEUE_OR_TE | An attempt was made to bind to a non-durable Guaranteed Delivery Queue or Topic Endpoint, and the broker is out of resources. | 503 No More Non-Durable Queue or Topic Endpoint |
SOLCLIENT_SUBCODE_ENDPOINT_ALREADY_EXISTS | An attempt was made to create a Queue or Topic Endpoint that already exists. This subcode is only returned if the provision flag SOLCLIENT_PROVISION_FLAGS_IGNORE_EXIST_ERRORS is not set in solClient_session_endpointProvision. | 400 Endpoint Already Exists |
SOLCLIENT_SUBCODE_PERMISSION_NOT_ALLOWED | An attempt was made to delete or create a Queue or Topic Endpoint when the Session does not have authorization for the action. This subcode is also returned when an attempt is made to remove a message from an endpoint when the Session does not have 'consume' authorization, or when an attempt is made to add or remove a Topic subscription from a Queue when the Session does not have 'modify-topic' authorization. | 403 Permission Denied |
SOLCLIENT_SUBCODE_INVALID_SELECTOR | An attempt was made to bind to a Queue or Topic Endpoint with an invalid selector. | 406 Invalid Selector |
SOLCLIENT_SUBCODE_MAX_MESSAGE_USAGE_EXCEEDED | Publishing the message was denied due to exceeding the maximum spooled message count. | 503 Max message usage exceeded |
SOLCLIENT_SUBCODE_ENDPOINT_PROPERTY_MISMATCH | An attempt was made to create a dynamic durable endpoint, and it was found to exist with different properties. | 401 Endpoint Property Mismatch |
SOLCLIENT_SUBCODE_SUBSCRIPTION_MANAGER_DENIED | An attempt was made to add a subscription to another client when the Session does not have subscription manager privileges. | 403 Subscription Manager Denied |
SOLCLIENT_SUBCODE_UNKNOWN_CLIENT_NAME | An attempt was made to add a subscription to another client that is unknown on the broker. | 403 Unknown Client Name |
SOLCLIENT_SUBCODE_QUOTA_OUT_OF_RANGE | An attempt was made to provision an endpoint with a quota that is out of range. | 400 Quota Out Of Range |
SOLCLIENT_SUBCODE_SUBSCRIPTION_ATTRIBUTES_CONFLICT | The client attempted to add a subscription which already exists but it has different properties. | 400 Subscription Attributes Conflict With Existing Subscription |
SOLCLIENT_SUBCODE_INVALID_SMF_MESSAGE | The client attempted to send a Solace Message Format (SMF) message using solClient_session_sendSmf() or solClient_session_sendMultipleSmf(), but the buffer did not contain a Direct message. | N/A |
SOLCLIENT_SUBCODE_NO_LOCAL_NOT_SUPPORTED | The client attempted to establish a Session or Flow with No Local enabled and the capability is not supported by the broker. | N/A |
SOLCLIENT_SUBCODE_UNSUBSCRIBE_NOT_ALLOWED_CLIENTS_BOUND | The client attempted to unsubscribe a Topic from a Topic Endpoint while there were still Flows bound to the endpoint. | 400 Unsubscribe not allowed, client(s) bound to DTE. |
SOLCLIENT_SUBCODE_CANNOT_BLOCK_IN_CONTEXT | An API function was invoked in the Context thread that would have blocked otherwise. For example, a call was made to send a message when the Session is configured with SOLCLIENT_SESSION_PROP_SEND_BLOCKING enabled and the transport (socket or IPC) channel is full. All application callback functions are executed in the Context thread. | N/A. |
SOLCLIENT_SUBCODE_FLOW_ACTIVE_FLOW_INDICATION_UNSUPPORTED | Reserved For Future Use. | N/A. |
SOLCLIENT_SUBCODE_UNRESOLVED_HOST | The client failed to connect because the host name could not be resolved. | N/A. |
SOLCLIENT_SUBCODE_CUT_THROUGH_UNSUPPORTED | An attempt was made to create a 'cut-through' Flow on a Session that does not support this capability. | N/A. |
SOLCLIENT_SUBCODE_CUT_THROUGH_ALREADY_BOUND | An attempt was made to create a 'cut-through' Flow on a Session that already has one 'cut-through' Flow. | N/A. |
SOLCLIENT_SUBCODE_CUT_THROUGH_INCOMPATIBLE_WITH_SESSION | An attempt was made to create a 'cut-through' Flow on a Session with incompatible Session properties. Cut-through may not be enabled on Sessions with SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH enabled. | N/A. |
SOLCLIENT_SUBCODE_INVALID_FLOW_OPERATION | An API call failed due to the attempted operation not being valid for the Flow. | N/A. |
SOLCLIENT_SUBCODE_UNKNOWN_FLOW_NAME | The session was disconnected due to loss of the publisher flow state. All (unacked and unsent) messages held by the API were deleted. To connect the session, applications need to call solClient_session_connect again. | 400 Unknown Flow Name |
SOLCLIENT_SUBCODE_REPLICATION_IS_STANDBY | An attempt to perform an operation using a VPN that is configured to be STANDBY for replication. | 403 Replication Is Standby |
SOLCLIENT_SUBCODE_LOW_PRIORITY_MSG_CONGESTION | The message was rejected by the broker as one or more matching endpoints exceeded the reject-low-priority-msg-limit. | 503 Low Priority Msg Congestion |
SOLCLIENT_SUBCODE_FAILED_LOADING_TRUSTSTORE | The client failed to load the trust store. | N/A. |
SOLCLIENT_SUBCODE_UNTRUSTED_CERTIFICATE | The client attempted to connect to an broker that has a suspect certficate. | N/A. |
SOLCLIENT_SUBCODE_CERTIFICATE_DATE_INVALID | The client attempted to connect to an broker that does not have a valid certificate date. | N/A. |
SOLCLIENT_SUBCODE_LIBRARY_NOT_LOADED | The client failed to find the library or symbol. | N/A. |
SOLCLIENT_SUBCODE_UNTRUSTED_COMMONNAME | The client attempted to connect to an broker that has a suspect common name. | N/A. |
SOLCLIENT_SUBCODE_FAILED_LOADING_CERTIFICATE_AND_KEY | The client failed to load certificate and/or private key files. | N/A. |
SOLCLIENT_SUBCODE_BASIC_AUTHENTICATION_IS_SHUTDOWN | The client attempted to connect to an broker that has the basic authentication shutdown. | 403 Basic Authentication is Shutdown |
SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_AUTHENTICATION_IS_SHUTDOWN | The client attempted to connect to an broker that has the client certificate authentication shutdown. | 403 Client Certificate Authentication is Shutdown |
SOLCLIENT_SUBCODE_KERBEROS_AUTHENTICATION_IS_SHUTDOWN | The client attempted to connect to an broker that has the Kerberos authentication shutdown. | 403 Kerberos Authentication is Shutdown |
SOLCLIENT_SUBCODE_UNTRUSTED_CLIENT_CERTIFICATE | The client failed to connect to an broker as it has a suspect client certificate. | "403 Untrusted Certificate" "403 Certificate Chain Too Long" "403 Certificate Error" |
SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_DATE_INVALID | The client failed to connect to an broker as it does not have a valid client certificate date. | "403 Certificate Not Yet Valid" "403 Certificate Expired" |
SOLCLIENT_SUBCODE_CACHE_REQUEST_CANCELLED | The cache session operation failed because the request has been cancelled. | N/A. |
SOLCLIENT_SUBCODE_DELIVERY_MODE_UNSUPPORTED | Attempt was made from a Transacted Session to send a message with the delivery mode SOLCLIENT_DELIVERY_MODE_DIRECT. | N/A. |
SOLCLIENT_SUBCODE_PUBLISHER_NOT_CREATED | Client attempted to send a message from a Transacted Session without creating a default publisher flow. | N/A. |
SOLCLIENT_SUBCODE_FLOW_UNBOUND | The client attempted to receive message from an UNBOUND Flow with no queued messages in memory. | N/A. |
SOLCLIENT_SUBCODE_INVALID_TRANSACTED_SESSION_ID | The client attempted to commit or rollback a transaction with an invalid Transacted Session Id. | N/A. |
SOLCLIENT_SUBCODE_INVALID_TRANSACTION_ID | The client attempted to commit or rollback a transaction with an invalid transaction Id. | N/A. |
SOLCLIENT_SUBCODE_MAX_TRANSACTED_SESSIONS_EXCEEDED | The client failed to open a Transacted Session as it exceeded the max Transacted Sessions. | N/A. |
SOLCLIENT_SUBCODE_TRANSACTED_SESSION_NAME_IN_USE | The client failed to open a Transacted Session as the Transacted Session name provided is being used by another opened session. | N/A. |
SOLCLIENT_SUBCODE_SERVICE_UNAVAILABLE | Guaranteed Delivery services are not enabled on the broker. | 503 Service Unavailable |
SOLCLIENT_SUBCODE_NO_TRANSACTION_STARTED | The client attempted to commit an unknown transaction. | 400 No transaction started |
SOLCLIENT_SUBCODE_PUBLISHER_NOT_ESTABLISHED | A send call was made on a transacted session before its publisher is established. | N/A. |
SOLCLIENT_SUBCODE_MESSAGE_PUBLISH_FAILURE | The client attempted to commit a transaction with a GD publish failure encountered. | 503 Message Publish Failure |
SOLCLIENT_SUBCODE_TRANSACTION_FAILURE | The client attempted to commit a transaction with too many transaction steps. | 503 Transaction Failure |
SOLCLIENT_SUBCODE_MESSAGE_CONSUME_FAILURE | The client attempted to commit a transaction with a consume failure encountered. | 503 Message Consume Failure |
SOLCLIENT_SUBCODE_ENDPOINT_MODIFIED | The client attempted to commit a transaction with an Endpoint being shutdown or deleted. | 503 Endpoint Modified |
SOLCLIENT_SUBCODE_INVALID_CONNECTION_OWNER | The client attempted to commit a transaction with an unknown connection ID. | 400 Invalid Connection Owner |
SOLCLIENT_SUBCODE_COMMIT_OR_ROLLBACK_IN_PROGRESS | The client attempted to send/receive a message or commit/rollback a transaction when a transaction commit/rollback is in progress. | N/A |
SOLCLIENT_SUBCODE_UNBIND_RESPONSE_LOST | The application called solClient_flow_destroy() and the unbind-response was not received. | N/A |
SOLCLIENT_SUBCODE_MAX_TRANSACTIONS_EXCEEDED | The client failed to open a Transacted Session as the maximum number of transactions was exceeded. | N/A. |
SOLCLIENT_SUBCODE_COMMIT_STATUS_UNKNOWN | The commit response was lost due to a transport layer reconnection to an alternate host in the host list. | N/A. |
SOLCLIENT_SUBCODE_PROXY_AUTH_REQUIRED | The host entry did not contain proxy authentication when required by the proxy server. | 407 Proxy Authentication Required |
SOLCLIENT_SUBCODE_PROXY_AUTH_FAILURE | The host entry did contained invalid proxy authentication when required by the proxy server. | 407 Proxy Authentication Required |
SOLCLIENT_SUBCODE_NO_SUBSCRIPTION_MATCH | The client attempted to publish a guaranteed message to a topic that did not have any guaranteed subscription matches or only matched a replicated topic. | 503 No Subscription Match |
SOLCLIENT_SUBCODE_SUBSCRIPTION_MATCH_ERROR | The client attempted to bind to a non-exclusive topic endpoint that is already bound with a different subscription. | 503 Subscription Does Not Match |
SOLCLIENT_SUBCODE_SELECTOR_MATCH_ERROR | The client attempted to bind to a non-exclusive topic endpoint that is already bound with a different ingress selector. | 503 Selector Does Not Match |
SOLCLIENT_SUBCODE_REPLAY_NOT_SUPPORTED | Replay is not supported in the Solace Message Router. | N/A |
SOLCLIENT_SUBCODE_REPLAY_DISABLED | Replay is not enabled in the message-vpn. | 503 Replay Disabled |
SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_NON_EXCLUSIVE_NOT_ALLOWED | The client attempted to start replay on a flow bound to a non-exclusive endpoint. | 403 Client Initiated Replay Not Allowed on Non-Exclusive Topic Endpoint, 403 Client Initiated Replay Not Allowed on Non-Exclusive Queue |
SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_INACTIVE_FLOW_NOT_ALLOWED | The client attempted to start replay on an inactive flow. | 403 Client Initiated Replay from Inactive Flow Not Allowed |
SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_BROWSER_FLOW_NOT_ALLOWED | The client attempted to bind with both SOLCLIENT_FLOW_PROP_BROWSER enabled and SOLCLIENT_FLOW_PROP_REPLAY_START_LOCATION set. | 403 Client Initiated Replay from Browser Flow Not Allowed |
SOLCLIENT_SUBCODE_REPLAY_TEMPORARY_NOT_SUPPORTED | Replay is not supported on temporary endpoints. | 403 Replay Not Supported on Temporary Queue, 403 Replay Not Supported on Temporary Topic Endpoint |
SOLCLIENT_SUBCODE_UNKNOWN_START_LOCATION_TYPE | The client attempted to start a replay but provided an unknown start location type. | 403 Unknown Start Location Type |
SOLCLIENT_SUBCODE_REPLAY_CANCELLED | A replay in progress on a flow was administratively cancelled, causing the flow to be unbound. | 503 Replay Cancelled |
SOLCLIENT_SUBCODE_REPLAY_MESSAGE_UNAVAILABLE | A replay in progress on a flow failed because messages to be replayed were trimmed from the replay log. | 503 Replay Message Unavailable |
SOLCLIENT_SUBCODE_REPLAY_STARTED | A replay was started on the queue/topic endpoint, either by another client or by an administrator on the message router. | 503 Replay Started |
SOLCLIENT_SUBCODE_REPLAY_START_TIME_NOT_AVAILABLE | A replay was requested but the requested start time is not available in the replay log. | 503 Replay Start Time Not Available |
SOLCLIENT_SUBCODE_REPLAY_MESSAGE_REJECTED | The Solace Message Router attempted to replay a message, but the queue/topic endpoint rejected the message to the sender. | 503 Replayed Message Rejected by Queue, 503 Replayed Message Rejected by Topic Endpoint |
SOLCLIENT_SUBCODE_REPLAY_LOG_MODIFIED | A replay in progress on a flow failed because the replay log was modified. | 503 Replay Log Modified |
SOLCLIENT_SUBCODE_MISMATCHED_ENDPOINT_ERROR_ID | Endpoint error ID in the bind request does not match the endpoint's error ID. | 503 Mismatched Endpoint Error ID |
SOLCLIENT_SUBCODE_OUT_OF_REPLAY_RESOURCES | A replay was requested, but the router does not have sufficient resources to fulfill the request, due to too many active replays. | 503 Out of Replay Resources |
SOLCLIENT_SUBCODE_TOPIC_OR_SELECTOR_MODIFIED_ON_DURABLE_TOPIC_ENDPOINT | A replay was in progress on a Durable Topic Endpoint (DTE) when its topic or selector was modified, causing the replay to fail. | 503 Topic or Selector Modified on Durable Topic Endpoint |
SOLCLIENT_SUBCODE_REPLAY_FAILED | A replay in progress on a flow failed. | 503 Replay Failed |
SOLCLIENT_SUBCODE_COMPRESSED_SSL_NOT_SUPPORTED | The client attempted to establish a Session or Flow with ssl and compression, but the capability is not supported by the broker. | N/A |
SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED | The client attempted to add a shared subscription, but the capability is not supported by the broker. | N/A |
SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_ALLOWED | The client attempted to add a shared subscription on a client that is not permitted to use shared subscriptions. | 403 Shared Subscription Permission Denied |
SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_ENDPOINT_NOT_ALLOWED | The client attempted to add a shared subscription to a queue or topic endpoint. | 403 Shared Subscriptions Not Supported On Queues, 403 Shared Subscriptions Not Supported On Topic Endpoints |
SOLCLIENT_SUBCODE_OBJECT_DESTROYED | The operation cannot be completed because the object (context, session, flow) for the method has been destroyed in another thread. | N/A |
SOLCLIENT_SUBCODE_DELIVERY_COUNT_NOT_SUPPORTED | The message was received from endpoint that does not support delivery count | N/A |
SOLCLIENT_SUBCODE_REPLAY_START_MESSAGE_UNAVAILABLE | A replay was requested but the requested start message is not available in the replay log. | 403 Replay Start Message Unavailable |
SOLCLIENT_SUBCODE_MESSAGE_ID_NOT_COMPARABLE | Replication Group Message Id are not comparable. Messages must be published to the same broker or HA pair for their Replicaton Group Message Id to be comparable. | N/A |
SOLCLIENT_SUBCODE_REPLAY_ANONYMOUS_NOT_SUPPORTED | The client attempted to start replay on a flow bound to an anonymous queue. | 403 Replay Not Supported on Anonymous Queue |
SOLCLIENT_SUBCODE_BROWSING_NOT_SUPPORTED_ON_PARTITIONED_QUEUE | Browser flows to Partitioned Queues are not permitted. | 403 Browsing Not Supported on Partitioned Queue |
SOLCLIENT_SUBCODE_SELECTORS_NOT_SUPPORTED_ON_PARTITIONED_QUEUE | Egress selectors are not permitted when binding to a Partitioned Queue. | 403 Selectors Not Supported on Partititoned Queue |
SOLCLIENT_SUBCODE_SYNC_REPLICATION_INELIGIBLE | A guaranteed message was rejected because the broker has been configured to reject messages when sync replication mode is ineligible. A transaction commit failed because replication became ineligible during the transaction. | 503 Sync Replication Ineligible |
SOLCLIENT_SUBCODE_ENDPOINT_SHUTDOWN | The client has attempted to publish to a topic that matched a queue or topic endpoint subscription which has its ingress flow shutdown. | 503 Endpoint Shutdown |
SOLCLIENT_SUBCODE_AD_APP_ACK_FAILED_NOT_SUPPORTED | The AD_APP_ACK_FAILED capability needed for "Fail" and "Reject" message settlement outcomes is not supported in the Solace Message Router. | N/A |
SOLCLIENT_SUBCODE_INVALID_DURABILITY | The client has attempted to bind a flow to a durable queue or topic endpoint with SOLCLIENT_FLOW_PROP_BIND_ENTITY_DURABLE disabled. | 400 Invalid Queue or Topic Endpoint Durability |
Enumerator | |
---|---|
SOLCLIENT_SUBCODE_OK |
No error. |
SOLCLIENT_SUBCODE_PARAM_OUT_OF_RANGE |
An API call was made with an out-of-range parameter. |
SOLCLIENT_SUBCODE_PARAM_NULL_PTR |
An API call was made with a null or invalid pointer parameter. |
SOLCLIENT_SUBCODE_PARAM_CONFLICT |
An API call was made with a parameter combination that is not valid. |
SOLCLIENT_SUBCODE_INSUFFICIENT_SPACE |
An API call failed due to insufficient space to accept more data. |
SOLCLIENT_SUBCODE_OUT_OF_RESOURCES |
An API call failed due to lack of resources (for example, starting a timer when all timers are in use). |
SOLCLIENT_SUBCODE_INTERNAL_ERROR |
An API call had an internal error (not an application fault). |
SOLCLIENT_SUBCODE_OUT_OF_MEMORY |
An API call failed due to inability to allocate memory. |
SOLCLIENT_SUBCODE_PROTOCOL_ERROR |
An API call failed due to a protocol error with the broker (not an application fault). |
SOLCLIENT_SUBCODE_INIT_NOT_CALLED |
An API call failed due to solClient_initialize() not being called first. |
SOLCLIENT_SUBCODE_TIMEOUT |
An API call failed due to a timeout. |
SOLCLIENT_SUBCODE_KEEP_ALIVE_FAILURE |
The Session Keep-Alive detected a failed Session. |
SOLCLIENT_SUBCODE_SESSION_NOT_ESTABLISHED |
An API call failed due to the Session not being established. |
SOLCLIENT_SUBCODE_OS_ERROR |
An API call failed due to a failed operating system call; an error string can be retrieved with solClient_getLastErrorInfo(). |
SOLCLIENT_SUBCODE_COMMUNICATION_ERROR |
An API call failed due to a communication error. An error string can be retrieved with solClient_getLastErrorInfo(). |
SOLCLIENT_SUBCODE_USER_DATA_TOO_LARGE |
An attempt was made to send a message with user data larger than the maximum that is supported. |
SOLCLIENT_SUBCODE_TOPIC_TOO_LARGE |
An attempt was made to use a Topic that is longer than the maximum that is supported. |
SOLCLIENT_SUBCODE_INVALID_TOPIC_SYNTAX |
An attempt was made to use a Topic that has a syntax which is not supported. |
SOLCLIENT_SUBCODE_XML_PARSE_ERROR |
The broker could not parse an XML message. |
SOLCLIENT_SUBCODE_LOGIN_FAILURE |
The client could not log into the broker (bad username or password). |
SOLCLIENT_SUBCODE_INVALID_VIRTUAL_ADDRESS |
An attempt was made to connect to the wrong IP address on the broker (must use CVRID if configured) or the broker CVRID has changed and this was detected on reconnect. |
SOLCLIENT_SUBCODE_CLIENT_DELETE_IN_PROGRESS |
The client login not currently possible as previous instance of same client still being deleted. |
SOLCLIENT_SUBCODE_TOO_MANY_CLIENTS |
The client login not currently possible because the maximum number of active clients on broker has already been reached. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_ALREADY_PRESENT |
The client attempted to add a subscription which already exists. This subcode is only returned if the Session property SOLCLIENT_SESSION_PROP_IGNORE_DUP_SUBSCRIPTION_ERROR is not enabled. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_NOT_FOUND |
The client attempted to remove a subscription which did not exist. This subcode is only returned if the Session property SOLCLIENT_SESSION_PROP_IGNORE_DUP_SUBSCRIPTION_ERROR is not enabled. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_INVALID |
The client attempted to add/remove a subscription that is not valid. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_OTHER |
The broker rejected a subscription add or remove request for a reason not separately enumerated. |
SOLCLIENT_SUBCODE_CONTROL_OTHER |
The broker rejected a control message for another reason not separately enumerated. |
SOLCLIENT_SUBCODE_DATA_OTHER |
The broker rejected a data message for another reason not separately enumerated. |
SOLCLIENT_SUBCODE_LOG_FILE_ERROR |
Could not open the log file name specified by the application for writing (Deprecated - SOLCLIENT_SUBCODE_OS_ERROR is used). |
SOLCLIENT_SUBCODE_MESSAGE_TOO_LARGE |
The client attempted to send a message larger than that supported by the broker. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_TOO_MANY |
The client attempted to add a subscription that exceeded the maximum number allowed. |
SOLCLIENT_SUBCODE_INVALID_SESSION_OPERATION |
An API call failed due to the attempted operation not being valid for the Session. |
SOLCLIENT_SUBCODE_TOPIC_MISSING |
A send call was made that did not have a Topic in a mode where one is required (for example, client mode). |
SOLCLIENT_SUBCODE_ASSURED_MESSAGING_NOT_ESTABLISHED |
A send call was made to send a Guaranteed message before Guaranteed Delivery is established (Deprecated). |
SOLCLIENT_SUBCODE_ASSURED_MESSAGING_STATE_ERROR |
An attempt was made to start Guaranteed Delivery when it is already started. |
SOLCLIENT_SUBCODE_QUEUENAME_TOPIC_CONFLICT |
Both Queue Name and Topic are specified in solClient_session_send. |
SOLCLIENT_SUBCODE_QUEUENAME_TOO_LARGE |
An attempt was made to use a Queue name which is longer than the maximum supported length. |
SOLCLIENT_SUBCODE_QUEUENAME_INVALID_MODE |
An attempt was made to use a Queue name on a non-Guaranteed message. |
SOLCLIENT_SUBCODE_MAX_TOTAL_MSGSIZE_EXCEEDED |
An attempt was made to send a message with a total size greater than that supported by the protocol. |
SOLCLIENT_SUBCODE_DBLOCK_ALREADY_EXISTS |
An attempt was made to allocate a datablock for a msg element when one already exists. |
SOLCLIENT_SUBCODE_NO_STRUCTURED_DATA |
An attempt was made to create a container to read structured data where none exists. |
SOLCLIENT_SUBCODE_CONTAINER_BUSY |
An attempt was made to add a field to a map or stream while a sub map or stream is being built. |
SOLCLIENT_SUBCODE_INVALID_DATA_CONVERSION |
An attempt was made to retrieve structured data with wrong type. |
SOLCLIENT_SUBCODE_CANNOT_MODIFY_WHILE_NOT_IDLE |
An attempt was made to modify a property that cannot be modified while Session is not idle. |
SOLCLIENT_SUBCODE_MSG_VPN_NOT_ALLOWED |
The Message VPN name configured for the session does not exist. |
SOLCLIENT_SUBCODE_CLIENT_NAME_INVALID |
The client name chosen has been rejected as invalid by the broker. |
SOLCLIENT_SUBCODE_MSG_VPN_UNAVAILABLE |
The Message VPN name set for the Session (or the default Message VPN, if none was set) is currently shutdown on the broker. |
SOLCLIENT_SUBCODE_CLIENT_USERNAME_IS_SHUTDOWN |
The username for the client is administratively shutdown on the broker. |
SOLCLIENT_SUBCODE_DYNAMIC_CLIENTS_NOT_ALLOWED |
The username for the Session has not been set and dynamic clients are not allowed. |
SOLCLIENT_SUBCODE_CLIENT_NAME_ALREADY_IN_USE |
The Session is attempting to use a client, publisher name, or subscriber name that is in use by another client, publisher, or subscriber, and the broker is configured to reject the new Session. When Message VPNs are in use, the conflicting client name must be in the same Message VPN. |
SOLCLIENT_SUBCODE_CACHE_NO_DATA |
When the cache request returns SOLCLIENT_INCOMPLETE, this subcode indicates there is no cached data in the designated cache. |
SOLCLIENT_SUBCODE_CACHE_SUSPECT_DATA |
When the designated cache responds to a cache request with suspect data the API returns SOLCLIENT_INCOMPLETE with this subcode. |
SOLCLIENT_SUBCODE_CACHE_ERROR_RESPONSE |
The cache instance has returned an error response to the request. |
SOLCLIENT_SUBCODE_CACHE_INVALID_SESSION |
The cache session operation failed because the Session has been destroyed. |
SOLCLIENT_SUBCODE_CACHE_TIMEOUT |
The cache session operation failed because the request timeout expired. |
SOLCLIENT_SUBCODE_CACHE_LIVEDATA_FULFILL |
The cache session operation completed when live data arrived on the Topic requested. |
SOLCLIENT_SUBCODE_CACHE_ALREADY_IN_PROGRESS |
A cache request has been made when there is already a cache request outstanding on the same Topic and SOLCLIENT_CACHEREQUEST_FLAGS_LIVEDATA_FLOWTHRU was not set. |
SOLCLIENT_SUBCODE_MISSING_REPLY_TO |
A message does not have the required reply-to field. |
SOLCLIENT_SUBCODE_CANNOT_BIND_TO_QUEUE |
Already bound to the queue, or not authorized to bind to the queue. |
SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_TE |
An attempt was made to bind to a Topic Endpoint with an invalid topic. |
SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_DTE |
Deprecated name; SOLCLIENT_SUBCODE_INVALID_TOPIC_NAME_FOR_TE is preferred. |
SOLCLIENT_SUBCODE_UNKNOWN_QUEUE_NAME |
An attempt was made to bind to an unknown Queue name (for example, not configured on broker). |
SOLCLIENT_SUBCODE_UNKNOWN_TE_NAME |
An attempt was made to bind to an unknown Topic Endpoint name (for example, not configured on broker). |
SOLCLIENT_SUBCODE_UNKNOWN_DTE_NAME |
Deprecated name; SOLCLIENT_SUBCODE_UNKNOWN_TE_NAME is preferred. |
SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_QUEUE |
An attempt was made to bind to a Queue that already has a maximum number of clients. |
SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_TE |
An attempt was made to bind to a Topic Endpoint that already has a maximum number of clients. |
SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_DTE |
Deprecated name, SOLCLIENT_SUBCODE_MAX_CLIENTS_FOR_TE is preferred. |
SOLCLIENT_SUBCODE_UNEXPECTED_UNBIND |
An unexpected unbind response was received for a Queue or Topic Endpoint (for example, the Queue or Topic Endpoint was deleted from the broker). |
SOLCLIENT_SUBCODE_QUEUE_NOT_FOUND |
The specified Queue was not found when publishing a message. |
SOLCLIENT_SUBCODE_CLIENT_ACL_DENIED |
The client login to the broker was denied because the IP address/netmask combination used for the client is designated in the ACL (Access Control List) as a deny connection for the given Message VPN and username. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_ACL_DENIED |
Adding a subscription was denied because it matched a subscription that was defined on the ACL (Access Control List). |
SOLCLIENT_SUBCODE_PUBLISH_ACL_DENIED |
A message could not be published because its Topic matched a Topic defined on the ACL (Access Control List). |
SOLCLIENT_SUBCODE_DELIVER_TO_ONE_INVALID |
An attempt was made to set both Deliver-To-One (DTO) and Guaranteed Delivery in the same message. (Deprecated: DTO will be applied to the corresponding demoted direct message) |
SOLCLIENT_SUBCODE_SPOOL_OVER_QUOTA |
Message was not delivered because the Guaranteed message spool is over its allotted space quota. |
SOLCLIENT_SUBCODE_QUEUE_SHUTDOWN |
An attempt was made to operate on a shutdown queue. |
SOLCLIENT_SUBCODE_TE_SHUTDOWN |
An attempt was made to bind to a shutdown Topic Endpoint. |
SOLCLIENT_SUBCODE_NO_MORE_NON_DURABLE_QUEUE_OR_TE |
An attempt was made to bind to a non-durable Queue or Topic Endpoint, and the broker is out of resources. |
SOLCLIENT_SUBCODE_ENDPOINT_ALREADY_EXISTS |
An attempt was made to create a Queue or Topic Endpoint that already exists. This subcode is only returned if the provision flag SOLCLIENT_PROVISION_FLAGS_IGNORE_EXIST_ERRORS is not set. |
SOLCLIENT_SUBCODE_PERMISSION_NOT_ALLOWED |
An attempt was made to delete or create a Queue or Topic Endpoint when the Session does not have authorization for the action. This subcode is also returned when an attempt is made to remove a message from an endpoint when the Session does not have 'consume' authorization, or when an attempt is made to add or remove a Topic subscription from a Queue when the Session does not have 'modify-topic' authorization. |
SOLCLIENT_SUBCODE_INVALID_SELECTOR |
An attempt was made to bind to a Queue or Topic Endpoint with an invalid selector. |
SOLCLIENT_SUBCODE_MAX_MESSAGE_USAGE_EXCEEDED |
Publishing of message denied because the maximum spooled message count was exceeded. |
SOLCLIENT_SUBCODE_ENDPOINT_PROPERTY_MISMATCH |
An attempt was made to create a dynamic durable endpoint and it was found to exist with different properties. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_MANAGER_DENIED |
An attempt was made to add a subscription to another client when Session does not have subscription manager privileges. |
SOLCLIENT_SUBCODE_UNKNOWN_CLIENT_NAME |
An attempt was made to add a subscription to another client that is unknown on the broker. |
SOLCLIENT_SUBCODE_QUOTA_OUT_OF_RANGE |
An attempt was made to provision an endpoint with a quota that is out of range. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_ATTRIBUTES_CONFLICT |
The client attempted to add a subscription which already exists but it has different properties. |
SOLCLIENT_SUBCODE_INVALID_SMF_MESSAGE |
The client attempted to send a Solace Message Format (SMF) message using solClient_session_sendSmf() or solClient_session_sendMultipleSmf(), but the buffer did not contain a Direct message. |
SOLCLIENT_SUBCODE_NO_LOCAL_NOT_SUPPORTED |
The client attempted to establish a Session or Flow with No Local enabled and the capability is not supported by the broker. |
SOLCLIENT_SUBCODE_UNSUBSCRIBE_NOT_ALLOWED_CLIENTS_BOUND |
The client attempted to unsubscribe a Topic from a Topic Endpoint while there were still Flows bound to the endpoint. |
SOLCLIENT_SUBCODE_CANNOT_BLOCK_IN_CONTEXT |
An API function was invoked in the Context thread that would have blocked otherwise. For an example, a call may have been made to send a message when the Session is configured with SOLCLIENT_SESSION_PROP_SEND_BLOCKING enabled and the transport (socket or IPC) channel is full. All application callback functions are executed in the Context thread. |
SOLCLIENT_SUBCODE_FLOW_ACTIVE_FLOW_INDICATION_UNSUPPORTED |
The client attempted to establish a Flow with Active Flow Indication (SOLCLIENT_FLOW_PROP_ACTIVE_FLOW_IND) enabled and the capability is not supported by the broker. |
SOLCLIENT_SUBCODE_UNRESOLVED_HOST |
The client failed to connect because the host name could not be resolved. |
SOLCLIENT_SUBCODE_CUT_THROUGH_UNSUPPORTED |
An attempt was made to create a 'cut-through' Flow on a Session that does not support this capability. |
SOLCLIENT_SUBCODE_CUT_THROUGH_ALREADY_BOUND |
An attempt was made to create a 'cut-through' Flow on a Session that already has one 'cut-through' Flow. |
SOLCLIENT_SUBCODE_CUT_THROUGH_INCOMPATIBLE_WITH_SESSION |
An attempt was made to create a 'cut-through' Flow on a Session with incompatible Session properties. Cut-through may not be enabled on Sessions with SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH enabled. |
SOLCLIENT_SUBCODE_INVALID_FLOW_OPERATION |
An API call failed due to the attempted operation not being valid for the Flow. |
SOLCLIENT_SUBCODE_UNKNOWN_FLOW_NAME |
The session was disconnected due to loss of the publisher flow state. All (unacked and unsent) messages held by the API were deleted. To connect the session, applications need to call solClient_session_connect again. |
SOLCLIENT_SUBCODE_REPLICATION_IS_STANDBY |
An attempt to perform an operation using a VPN that is configured to be STANDBY for replication. |
SOLCLIENT_SUBCODE_LOW_PRIORITY_MSG_CONGESTION |
The message was rejected by the broker as one or more matching endpoints exceeded the reject-low-priority-msg-limit. |
SOLCLIENT_SUBCODE_LIBRARY_NOT_LOADED |
The client failed to find the library or symbol. |
SOLCLIENT_SUBCODE_FAILED_LOADING_TRUSTSTORE |
The client failed to load the trust store. |
SOLCLIENT_SUBCODE_UNTRUSTED_CERTIFICATE |
The client attempted to connect to an broker that has a suspect certficate. |
SOLCLIENT_SUBCODE_UNTRUSTED_COMMONNAME |
The client attempted to connect to an broker that has a suspect common name. |
SOLCLIENT_SUBCODE_CERTIFICATE_DATE_INVALID |
The client attempted to connect to an broker that does not have a valid certificate date. |
SOLCLIENT_SUBCODE_FAILED_LOADING_CERTIFICATE_AND_KEY |
The client failed to load certificate and/or private key files. |
SOLCLIENT_SUBCODE_BASIC_AUTHENTICATION_IS_SHUTDOWN |
The client attempted to connect to an broker that has the basic authentication shutdown. |
SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_AUTHENTICATION_IS_SHUTDOWN |
The client attempted to connect to an broker that has the client certificate authentication shutdown. |
SOLCLIENT_SUBCODE_UNTRUSTED_CLIENT_CERTIFICATE |
The client failed to connect to an broker as it has a suspect client certificate. |
SOLCLIENT_SUBCODE_CLIENT_CERTIFICATE_DATE_INVALID |
The client failed to connect to an broker as it does not have a valid client certificate date. |
SOLCLIENT_SUBCODE_CACHE_REQUEST_CANCELLED |
The cache request has been cancelled by the client. |
SOLCLIENT_SUBCODE_DELIVERY_MODE_UNSUPPORTED |
Attempt was made from a Transacted Session to send a message with the delivery mode SOLCLIENT_DELIVERY_MODE_DIRECT. |
SOLCLIENT_SUBCODE_PUBLISHER_NOT_CREATED |
Client attempted to send a message from a Transacted Session without creating a default publisher flow. |
SOLCLIENT_SUBCODE_FLOW_UNBOUND |
The client attempted to receive message from an UNBOUND Flow with no queued messages in memory. |
SOLCLIENT_SUBCODE_INVALID_TRANSACTED_SESSION_ID |
The client attempted to commit or rollback a transaction with an invalid Transacted Session Id. |
SOLCLIENT_SUBCODE_INVALID_TRANSACTION_ID |
The client attempted to commit or rollback a transaction with an invalid transaction Id. |
SOLCLIENT_SUBCODE_MAX_TRANSACTED_SESSIONS_EXCEEDED |
The client failed to open a Transacted Session as it exceeded the max Transacted Sessions. |
SOLCLIENT_SUBCODE_TRANSACTED_SESSION_NAME_IN_USE |
The client failed to open a Transacted Session as the Transacted Session name provided is being used by another opened session. |
SOLCLIENT_SUBCODE_SERVICE_UNAVAILABLE |
Guaranteed Delivery services are not enabled on the broker. |
SOLCLIENT_SUBCODE_NO_TRANSACTION_STARTED |
The client attempted to commit an unknown transaction. |
SOLCLIENT_SUBCODE_PUBLISHER_NOT_ESTABLISHED |
A send call was made on a transacted session before its publisher is established. |
SOLCLIENT_SUBCODE_MESSAGE_PUBLISH_FAILURE |
The client attempted to commit a transaction with a GD publish failure encountered. |
SOLCLIENT_SUBCODE_TRANSACTION_FAILURE |
The client attempted to commit a transaction with too many transaction steps. |
SOLCLIENT_SUBCODE_MESSAGE_CONSUME_FAILURE |
The client attempted to commit a transaction with a consume failure encountered. |
SOLCLIENT_SUBCODE_ENDPOINT_MODIFIED |
The client attempted to commit a transaction with an Endpoint being shutdown or deleted. |
SOLCLIENT_SUBCODE_INVALID_CONNECTION_OWNER |
The client attempted to commit a transaction with an unknown connection ID. |
SOLCLIENT_SUBCODE_KERBEROS_AUTHENTICATION_IS_SHUTDOWN |
The client attempted to connect to an broker that has the Kerberos authentication shutdown. |
SOLCLIENT_SUBCODE_COMMIT_OR_ROLLBACK_IN_PROGRESS |
The client attempted to send/receive a message or commit/rollback a transaction when a transaction commit/rollback is in progress. |
SOLCLIENT_SUBCODE_UNBIND_RESPONSE_LOST |
The application called solClient_flow_destroy() and the unbind-response was not received. |
SOLCLIENT_SUBCODE_MAX_TRANSACTIONS_EXCEEDED |
The client failed to open a Transacted Session as the maximum number of transactions was exceeded. |
SOLCLIENT_SUBCODE_COMMIT_STATUS_UNKNOWN |
The commit response was lost due to a transport layer reconnection to an alternate host in the host list. |
SOLCLIENT_SUBCODE_PROXY_AUTH_REQUIRED |
The host entry did not contain proxy authentication when required by the proxy server. |
SOLCLIENT_SUBCODE_PROXY_AUTH_FAILURE |
The host entry contained invalid proxy authentication when required by the proxy server. |
SOLCLIENT_SUBCODE_NO_SUBSCRIPTION_MATCH |
The client attempted to publish a guaranteed message to a topic that did not have any guaranteed subscription matches or only matched a replicated topic. |
SOLCLIENT_SUBCODE_SUBSCRIPTION_MATCH_ERROR |
The client attempted to bind to a non-exclusive topic endpoint that is already bound with a different subscription. |
SOLCLIENT_SUBCODE_SELECTOR_MATCH_ERROR |
The client attempted to bind to a non-exclusive topic endpoint that is already bound with a different ingress selector. |
SOLCLIENT_SUBCODE_REPLAY_NOT_SUPPORTED |
Replay is not supported on the Solace Message Router. |
SOLCLIENT_SUBCODE_REPLAY_DISABLED |
Replay is not enabled in the message-vpn. |
SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_NON_EXCLUSIVE_NOT_ALLOWED |
The client attempted to start replay on a flow bound to a non-exclusive endpoint. |
SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_INACTIVE_FLOW_NOT_ALLOWED |
The client attempted to start replay on an inactive flow. |
SOLCLIENT_SUBCODE_CLIENT_INITIATED_REPLAY_BROWSER_FLOW_NOT_ALLOWED |
The client attempted to bind with both SOLCLIENT_FLOW_PROP_BROWSER enabled and SOLCLIENT_FLOW_PROP_REPLAY_START_LOCATION set. |
SOLCLIENT_SUBCODE_REPLAY_TEMPORARY_NOT_SUPPORTED |
Replay is not supported on temporary endpoints. |
SOLCLIENT_SUBCODE_UNKNOWN_START_LOCATION_TYPE |
The client attempted to start a replay but provided an unknown start location type. |
SOLCLIENT_SUBCODE_REPLAY_MESSAGE_UNAVAILABLE |
A replay in progress on a flow failed because messages to be replayed were trimmed from the replay log. |
SOLCLIENT_SUBCODE_REPLAY_STARTED |
A replay was started on the queue/topic endpoint, either by another client or by an administrator on the message router. |
SOLCLIENT_SUBCODE_REPLAY_CANCELLED |
A replay in progress on a flow was administratively cancelled, causing the flow to be unbound. |
SOLCLIENT_SUBCODE_REPLAY_START_TIME_NOT_AVAILABLE |
A replay was requested but the requested start time is not available in the replay log. |
SOLCLIENT_SUBCODE_REPLAY_MESSAGE_REJECTED |
The Solace Message Router attempted to replay a message, but the queue/topic endpoint rejected the message to the sender. |
SOLCLIENT_SUBCODE_REPLAY_LOG_MODIFIED |
A replay in progress on a flow failed because the replay log was modified. |
SOLCLIENT_SUBCODE_MISMATCHED_ENDPOINT_ERROR_ID |
Endpoint error ID in the bind request does not match the endpoint's error ID. |
SOLCLIENT_SUBCODE_OUT_OF_REPLAY_RESOURCES |
A replay was requested, but the router does not have sufficient resources to fulfill the request, due to too many active replays. |
SOLCLIENT_SUBCODE_TOPIC_OR_SELECTOR_MODIFIED_ON_DURABLE_TOPIC_ENDPOINT |
A replay was in progress on a Durable Topic Endpoint (DTE) when its topic or selector was modified, causing the replay to fail. |
SOLCLIENT_SUBCODE_REPLAY_FAILED |
A replay in progress on a flow failed. |
SOLCLIENT_SUBCODE_COMPRESSED_SSL_NOT_SUPPORTED |
The client attempted to establish a Session or Flow with ssl and compression, but the capability is not supported by the broker. |
SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED |
The client attempted to add a shared subscription, but the capability is not supported by the broker. |
SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_NOT_ALLOWED |
The client attempted to add a shared subscription on a client that is not permitted to use shared subscriptions. |
SOLCLIENT_SUBCODE_SHARED_SUBSCRIPTIONS_ENDPOINT_NOT_ALLOWED |
The client attempted to add a shared subscription to a queue or topic endpoint. |
SOLCLIENT_SUBCODE_OBJECT_DESTROYED |
The operation cannot be completed because the object (context, session, flow) for the method has been destroyed in another thread. |
SOLCLIENT_SUBCODE_DELIVERY_COUNT_NOT_SUPPORTED |
The message was received from endpoint that does not support delivery count. |
SOLCLIENT_SUBCODE_REPLAY_START_MESSAGE_UNAVAILABLE |
A replay was requested but the requested start message is not available in the replay log. |
SOLCLIENT_SUBCODE_MESSAGE_ID_NOT_COMPARABLE |
Replication Group Message Id are not comparable. Messages must be published to the same broker or HA pair for their Replicaton Group Message Id to be comparable. |
SOLCLIENT_SUBCODE_REPLAY_ANONYMOUS_NOT_SUPPORTED |
The client attempted to start replay on a flow bound to an anonymous queue. |
SOLCLIENT_SUBCODE_BROWSING_NOT_SUPPORTED_ON_PARTITIONED_QUEUE |
Browser flows to Partitioned Queues are not permitted. |
SOLCLIENT_SUBCODE_SELECTORS_NOT_SUPPORTED_ON_PARTITIONED_QUEUE |
Egress selectors are not permitted when binding to a Partitioned Queue. |
SOLCLIENT_SUBCODE_SYNC_REPLICATION_INELIGIBLE |
A guaranteed message was rejected because the broker has been configured to reject messages when sync replication mode is ineligible. A transaction commit failed because replication became ineligible during the transaction. |
SOLCLIENT_SUBCODE_ENDPOINT_SHUTDOWN |
The client has attempted to publish to a topic that matched a queue or topic endpoint subscription which has its ingress flow shutdown. |
SOLCLIENT_SUBCODE_AD_APP_ACK_FAILED_NOT_SUPPORTED |
Fail and Reject message settlement outcomes not supported on the Solace Message Router. |
SOLCLIENT_SUBCODE_INVALID_DURABILITY |
The client has attempted to bind a flow to a durable queue or topic endpoint with SOLCLIENT_FLOW_PROP_BIND_ENTITY_DURABLE disabled. |
solClient_dllExport solClient_returnCode_t solClient_appendUUIDString | ( | const char * | inputStr, |
char * | uuid_p, | ||
size_t | bufferSize | ||
) |
Appends (after a '/' delimeter') a Universally Unique Identifier (UUID) as a NULL-terminated string to a given input string.
Only a version 4 UUID (generated from random or pseudo-random numbers) is supported. The size of the buffer provided must be at least SOLCLIENT_UUID_STRING_BUFFER_SIZE bytes in size to hold the NULL-terminated UUID string value. An example output string is: 4e112068-7836-4e2f-af14-82682569bdfe (NULL-terminated).
inputStr | A pointer to a null terminated string. |
uuid_p | A pointer to string buffer to fill in. |
bufferSize | The size (in bytes) of provided buffer; must be at least (strlen(inputStr) + SOLCLIENT_UUID_STRING_BUFFER_SIZE). |
solClient_dllExport solClient_returnCode_t solClient_cleanup | ( | void | ) |
This function may be called after use of the API is completed.
This function takes care of any global clean-up that might be required. It automatically frees all allocated resources, including those for Contexts and Sessions that have been previously created but are not destroyed. Note that if solClient_cleanup() is called while Sessions are connected, any messages buffered for transmission are discarded and not sent. See solClient_session_disconnect() for further information. In most applications, it is not necessary to call solClient_cleanup() as the resources in use are automatically recovered when the application exits. solClient_cleanup() exists for rare applications that may want recover all API resources and continue operating without using the API further.
solClient_dllExport solClient_returnCode_t solClient_context_create | ( | solClient_propertyArray_pt | props, |
solClient_opaqueContext_pt * | opaqueContext_p, | ||
solClient_context_createFuncInfo_t * | funcInfo_p, | ||
size_t | funcInfoSize | ||
) |
Creates a new Context.
The context properties are supplied as an array of name/value pointer pairs, where the name and value are both strings. Only configuration property names starting with "CONTEXT_" are processed; other property names are ignored. Any values not supplied are set to default values. Passing in NULL causes all Context properties to be set to their default values.
It is highly recommended that applications should always use an automatically created internal context thread. Passing in SOLCLIENT_CONTEXT_PROPS_DEFAULT_WITH_CREATE_THREAD causes the Context to have the context thread created automatically and all other Context properties at their default value. Alternatively, an internal thread can be created by enabling SOLCLIENT_CONTEXT_PROP_CREATE_THREAD.
If an external context thread (the default for historical reasons) is needed under special circumstances, the application must supply a thread to do the work on behalf of a Context. The application does this by having a Context thread call solClient_context_processEvents(). In some rare cases, application can also use an optional file descriptor event service. Applications can register application file descriptors for events using solClient_context_registerForFdEvents(). The file descriptor event callback routine that has been registered is invoked by the Context thread when the event occurs.
As an alternative, the application can provide the file descriptor event registration mechanism itself, which then results in the API using the application-provided events. To activate this mode, the application must provide file descriptor event register and deregister function at the time of Context creation (see solClient_context_createRegisterFdFuncInfo). If the register/deregister function pointers provided are NULL, then the internal API event mechanism is used. When the application is providing events to the API, solClient_context_processEvents() must not be called. Instead solClient_context_timerTick() must be called on regular basis as API timers are dependent on this function which is usually invoked during solClient_context_processEvents().
When the Context is created, an opaque Context pointer is returned to the caller, and this value is then used for any Context-level operations, such as creating a Session.
Note that the property values are stored internally in the API, and the caller does not have to maintain the props array or the strings that are pointed to after this call completes. The API also does not modify any of the strings pointed to by props when processing the property list.
props | An array of name/value string pair pointers to configure context properties. |
opaqueContext_p | An opaque Context pointer is returned that refers to the created Context. |
funcInfo_p | A pointer to a structure that provides information on optional file descriptor event functions. |
funcInfoSize | The size of the passed-in funcInfo structure (in bytes) to allow the structure to grow in the future. |
solClient_dllExport solClient_returnCode_t solClient_context_destroy | ( | solClient_opaqueContext_pt * | opaqueContext_p | ) |
Destroys a previously created Context.
On return, the opaque Context pointer is set to NULL. This operation must not be performed in a Context callback for the Context being destroyed. This includes all Sessions on the Context, timers on the Context, and application-supplied register file descriptor (see solClient_context_createFuncInfo) functions.
opaqueContext_p | An opaque Context returned when Context was created. |
solClient_dllExport solClient_returnCode_t solClient_context_processEvents | ( | solClient_opaqueContext_pt | opaqueContext_p | ) |
Must be called by the Context thread for a given Context to have events processed.
If messages arrive on a Session, the Session callback function is invoked in the Context of the calling Context thread. If application file descriptors have been registered and requested events have occurred on those file descriptors, the registered file descriptor event callback function is invoked in the Context of the calling Context thread. The Session event callback routine can also be invoked. This routine must be called as often as possible by the Context thread. Also, the application must avoid long processing times in the called messsage receive or application file descriptor event routines that can be invoked by this function.
Note that if the application has taken over responsibility of generating file descriptor events, then this routine must not be called by the application. Instead solClient_context_timerTick() must be called on regular basis as API timers are dependent on this function which is usually invoked during solClient_context_processEvents().
opaqueContext_p | The opaque Context that was returned when Context was created. |
solClient_dllExport solClient_returnCode_t solClient_context_processEventsWait | ( | solClient_opaqueContext_pt | opaqueContext_p, |
solClient_bool_t | wait | ||
) |
This function must be called by the Context thread for a given Context to have events processed.
This function also takes a second parameter 'wait'. If non-zero, solClient_context_processEventsWait will wait for an event (timeout or received message) and is identical to simply calling solClient_context_processEvents().
When wait is zero, solClient_context_processEventsWait() always returns immediately, and if no received events occurred, this function returns SOLCLIENT_NOEVENT.
See also solClient_context_processEvents() for a more information.
opaqueContext_p | Opaque Context that was returned when Context was created. |
wait | When 1, processEvents waits for an event; when 0, it returns immediately with SOLCLIENT_NOEVENT if there is nothing pending. |
solClient_dllExport solClient_returnCode_t solClient_context_registerForFdEvents | ( | solClient_opaqueContext_pt | opaqueContext_p, |
solClient_fd_t | fd, | ||
solClient_fdEvent_t | events, | ||
solClient_context_fdCallbackFunc_t | callback_p, | ||
void * | user_p | ||
) |
Allows the application to optionally register an application file descriptor for events (for example, SOLCLIENT_FD_EVENT_READ) for an application file descriptor.
The events parameter is an OR of the events requested (for example, if read and write events are requested, events is SOLCLIENT_FD_EVENT_READ | SOLCLIENT_FD_EVENT_WRITE). When the specified event(s) occur, the specified callback routine is invoked (in the context of the Context thread that called solClient_ProcessEvents), and the opaque user value is provided. When an event occurs, the event stays registered for the file descriptor unless the deregister function for the event is called, or if register is called again and the event is not specified.
NOTE: When this function is called for a given file descriptor, the specified events replace any previously specified events. Therefore all events for a given file descriptor share the same callback routine and user data.
opaqueContext_p | The opaque Context that was returned when Context was created. |
fd | The file descriptor being registered. |
events | The events being requested (multiple events can be OR'ed together). |
callback_p | The callback routine to be invoked. |
user_p | The opaque user data pointer (can be NULL) that is returned in the callback. |
solClient_dllExport solClient_returnCode_t solClient_context_startTimer | ( | solClient_opaqueContext_pt | opaqueContext_p, |
solClient_context_timerMode_t | timerMode, | ||
solClient_uint32_t | durationMs, | ||
solClient_context_timerCallbackFunc_t | callback_p, | ||
void * | user_p, | ||
solClient_context_timerId_t * | timerId_p | ||
) |
Allows the application to start a timer.
When the timer expires, the specified timer callback routine is invoked with the user pointer that was specified at timer start time. The timer duration is subject to the timer resolution specified by the Context property SOLCLIENT_CONTEXT_PROP_TIME_RES_MS. The timer duration is rounded up to the nearest timer resolution interval. For example, if the Context timer resolution is 50 ms, and a timer is started with a duration of 60 ms, then the timer duration is rounded up to 100 ms (2 ticks), and then one further tick is added for a total timer duration of 150 ms. This extra tick accounts for the fact that the current tick might be about to advance when the timer is started. Therefore, the actual timeout in this example is in the range of 100 ms to 150 ms. The timer callback routine is invoked in the cntext of the Context thread, and timeouts occur as a result of calling solClient_context_processEvents(). The timer durations are approximate; the actual duration can be affected by the processing time spent in other callbacks by the Context thread, such as for Session events, received messages, and file descriptor events. This timer service should only be used for applications that require a coarse timer service (for example, a guard timer, or other timer uses that do not require a highly accurate timer service).
When a one-shot timer expires, the timer is automatically cancelled. When a repeat timer expires, the timer is automatically rescheduled for the same duration, and continues to run until stopped using solClient_context_stopTimer.
The invoked timer callback routine is allowed to start and stop timers.
opaqueContext_p | The opaque Context that was returned when Context was created. |
timerMode | The type of timer to start (one-shot or repeat). |
durationMs | The requested timer duration (in milliseconds). |
callback_p | The routine to invoke when the timer expires. |
user_p | A pointer to opaque user data that is provided to the callback routine. |
timerId_p | A pointer to a returned timer ID which is used to stop a timer. |
solClient_dllExport solClient_returnCode_t solClient_context_stopTimer | ( | solClient_opaqueContext_pt | opaqueContext_p, |
solClient_context_timerId_t * | timerId_p | ||
) |
Allows the application to stop a previously started timer.
Timers that expire and have their callback routine invoked are not required to be stopped by the application.
opaqueContext_p | The opaque Context that was returned when Context was created. |
timerId_p | A pointer to the identifier of the timer to be stopped; previously returned from solClient_context_startTimer(). The timer id is set to SOLCLIENT_CONTEXT_TIMER_ID_INVALID when returned. |
solClient_dllExport solClient_returnCode_t solClient_context_timerTick | ( | solClient_opaqueContext_pt | opaqueContext_p | ) |
When the application takes over all file descriptor event generation, the application must also call this routine at regular intervals (specified by the Context property SOLCLIENT_CONTEXT_PROP_DEFAULT_TIME_RES_MS) to provide a timer tick for timer processing.
When the application calls solClient_context_processEvents() for the Context, which is the normal mode of operation, then the application must not call this routine because solClient_context_processEvents() takes care of generating timer ticks. When this routine is invoked, it might result in the invocation of timer expiry callbacks.
If the time interval between calls to solClient_context_timerTick() exceeds 60000 ms (60 seconds) the API assumes the system clock has changed, resets its internal concept of time, and ignores the call to solClient_context_timerTick(). Consequently, if the application attempts to use a timer resolution greater than 60 seconds, timers will never expire and any resolution greater than 30 seconds can cause timer ticks to be missed.
opaqueContext_p | The opaque Context that was returned when the Context was created. |
solClient_dllExport solClient_returnCode_t solClient_context_unregisterForFdEvents | ( | solClient_opaqueContext_pt | opaqueContext_p, |
solClient_fd_t | fd, | ||
solClient_fdEvent_t | events | ||
) |
Allows the application to optionally deregister an application file descriptor for events (for example, SOLCLIENT_FD_EVENT_READ) for an application file descriptor.
The events is an OR of the events no longer needed. If a file descriptor is called that has not been registered, or if an event is specified for a file descriptor that was not registered, SOLCLIENT_OK is returned. For example, in clean-up code, this function can be blindly called with SOLCLIENT_FD_EVENT_ALL for a given file descriptor with no ill effects.
opaqueContext_p | The opaque Context that was returned when Context was created. |
fd | The file descriptor that events are being deregistered for. |
events | The events no longer being requested (multiple events can be ORed together). |
solClient_dllExport solClient_returnCode_t solClient_flow_clearStats | ( | solClient_opaqueFlow_pt | opaqueFlow_p | ) |
Clears all the statistics (rx and tx) for the specified Flow.
All previous Flow statistics are lost when this is called.
opaqueFlow_p | The opaque Flow returned when Flow was created. |
solClient_dllExport solClient_returnCode_t solClient_flow_destroy | ( | solClient_opaqueFlow_pt * | opaqueFlow_p | ) |
Destroys a previously created Flow.
Upon return, the opaque Flow pointer is set to NULL. This operation must not be performed in a Flow callback for the Flow being destroyed.
opaqueFlow_p | A pointer to the opaque Flow pointer that was returned when the Session was created. |
solClient_dllExport const char* solClient_flow_eventToString | ( | solClient_flow_event_t | flowEvent | ) |
Returns a string representation of the Flow event passed in.
flowEvent | The Flow event to convert to a string representation. |
solClient_dllExport solClient_returnCode_t solClient_flow_getDestination | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_destination_t * | dest_p, | ||
size_t | destSize | ||
) |
Retrieve the destination for the Flow.
The destination returned can be used to set the ReplyTo field in a message, or otherwise communicated to partners that need to send messages to this Flow. This is especially useful for temporary endpoints (Queues and Topic Endpoints), as the destination is unknown before the endpoint is created.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
dest_p | A pointer to a solClient_destination_t. |
destSize | The size of (solClient_destination_t). This parameter is used for backwards binary compatibility if solClient_destination_t changes in the future. |
solClient_dllExport solClient_returnCode_t solClient_flow_getProperty | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
const char * | propertyName_p, | ||
char * | buf_p, | ||
size_t | bufSize | ||
) |
Gets the value of the specified Flow property for the Flow.
The property value is copied out to buffer provided by the caller. The returned value is a NULL-terminated UTF-8 string.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
propertyName_p | The name of the Flow property for which the value is to be returned. |
buf_p | A pointer to the buffer provided by the caller in which to place the NULL-terminated property value string. |
bufSize | The size of the buffer provided by the caller (in bytes). |
solClient_dllExport solClient_returnCode_t solClient_flow_getRxStat | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_stats_rx_t | rxStatType, | ||
solClient_stats_pt | rxStat_p | ||
) |
Returns an individual receive statistic.
If multiple receive statistics are needed, it is more efficient to use solClient_flow_getRxStats rather than to call this routine multiple times for different statistics.
opaqueFlow_p | The opaque Flow returned when Flow was created. |
rxStatType | The type of receive statistic to return. |
rxStat_p | A pointer to a variable to hold the returned statistic. |
solClient_dllExport solClient_returnCode_t solClient_flow_getRxStats | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_stats_pt | rxStats_p, | ||
solClient_uint32_t | arraySize | ||
) |
Returns an array of Flow receive statistics.
If the array is smaller than the number of defined receive statistics, only the first N defined statistics are returned. If the array is larger than the number of defined receive statistics, only the defined entries are filled in. The other entries are not touched.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
rxStats_p | A pointer to an array of statistic values of type solClient_Stats_t. |
arraySize | The number of entries in the array passed in (NOT the number of bytes). |
solClient_dllExport solClient_returnCode_t solClient_flow_getSession | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_opaqueSession_pt * | opaqueSession_p | ||
) |
Returns the Session associated with the specified Flow.
When flows are created within a Session (see solClient_session_createFlow), then this routine can be used if the application has a Flow pointer and needs to determine the associated Session. For example, in a Flow event callback in which a Flow pointer is provided, an application can use this routine to determine the associated Session. Note that from the Session the associated Context can be determined through solClient_session_getContext.
opaqueFlow_p | An opaque Flow that was returned when the Flow was created. |
opaqueSession_p | An opaque Session associated with the Flow that is returned. |
solClient_dllExport solClient_returnCode_t solClient_flow_getTransactedSession | ( | solClient_opaqueFlow_pt | flow_p, |
solClient_opaqueTransactedSession_pt * | transactedSession_p | ||
) |
Returns the Transacted Session pointer with the specified Flow.
When flows are created within a Transacted Session (see solClient_transactedSession_createFlow), then this routine can be used if the application has a Flow pointer and needs to determine the associated Transacted Session. For example, in a Flow event callback in which a Flow pointer is provided, an application can use this routine to determine the associated Transacted Session.
flow_p | Opaque flow pointer. |
transactedSession_p | Pointer to the location which contains the opaque Transacted Session pointer on return. |
solClient_dllExport solClient_returnCode_t solClient_flow_logFlowInfo | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_log_level_t | level | ||
) |
Outputs a log at the specified log level that contains the Flow state information for the given Flow.
opaqueFlow_p | The opaque Flow returned when Flow was created. |
level | The log level used to output the statistics log. |
solClient_dllExport solClient_returnCode_t solClient_flow_logStats | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_log_level_t | level | ||
) |
Outputs a log at a specified log level that contains the value at this moment of all receive and transmit statistics for the specified Flow.
This routine is useful for debugging of applications because it enables an application to easily output all available Flow statistics.
opaqueFlow_p | The opaque Flow returned when Flow was created. |
level | The log level used to output the statistics log. |
solClient_dllExport solClient_returnCode_t solClient_flow_receiveMsg | ( | solClient_opaqueFlow_pt | flow_p, |
solClient_opaqueMsg_pt * | msg_p, | ||
solClient_int32_t | timeout | ||
) |
Receives a message from a specified Transacted Flow.
It waits until timeout or a message received, no wait if timeout=0. Applications must later call solClient_msg_free() to release the received message.
flow_p | Opaque flow pointer. |
msg_p | Pointer to the location to contain the opaque message pointer. If there is no message, the opaque message pointer is set to NULL. |
timeout | timeout in milliseconds, 0 means no wait. |
solClient_dllExport solClient_returnCode_t solClient_flow_sendAck | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_msgId_t | msgId | ||
) |
This function is now just a convenience shorthand for calling solClient_flow_settleMsg() with the SOLCLIENT_OUTCOME_ACCEPTED outcome.
Sends an acknowledgment on the specified Flow. This instructs the API to consider the specified msgID acknowledged at the application layer. The library does not send acknowledgments immediately. It stores the state for acknowledged messages internally and acknowledges messages, in bulk, when a threshold or timer is reached.
Applications must only acknowledge a message on the Flow on which it is received. Using the msgId received on one Flow when acknowledging on another may result in no message being removed from the message-spool or the wrong message being removed from the message-spool.
Ignored on transacted flows.
The exact behavior of solClient_flow_sendAck() is controlled by Flow property SOLCLIENT_FLOW_PROP_ACKMODE:
WARNING: If SOLCLIENT_FLOW_PROP_ACKMODE is set to SOLCLIENT_FLOW_PROP_ACKMODE_AUTO (the default behavior), the function returns SOLCLIENT_OK, but with a warning that solClient_flow_sendAck is ignored as the flow is in auto-ack mode.
opaqueFlow_p | The opaque Flow that is returned when the Flow was created. |
msgId | The 64-bit messageId for the acknowledged message. |
solClient_dllExport solClient_returnCode_t solClient_flow_setMaxUnacked | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_int32_t | maxUnacked | ||
) |
Changes the maximum number of unacknowledged messages that may be received on the specified Flow.
This function may only be used when the Flow has been created with SOLCLIENT_FLOW_PROP_ACKMODE set to SOLCLIENT_FLOW_PROP_ACKMODE_CLIENT. When the maximum number of unacknowledged messages is reduced, messages in transit will still be received even if that causes the application to exceed the new limit of maximum number of unacknowledged messages. The maximum number of messages that may be in transit at any one time is the lesser of the current allowable unacknowledged messages and the Flow property SOLCLIENT_FLOW_PROP_WINDOWSIZE. The current allowable unacknowledged messages is simply the difference between the current (that is, before calling this function) maximum number of acknowledged messages and the number of messages received that have not been acknowledged.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
maxUnacked | The new value for maximum number of acknowledged messages to allow on the Flow. If set to -1, there is no limit to the maximum number of acknowledged messages other than the broker defined limit in the endpoint. |
solClient_dllExport solClient_returnCode_t solClient_flow_settleMsg | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_msgId_t | msgId, | ||
solClient_msgOutcome_t | outcome | ||
) |
Sends a positive or negative acknowledgment on the specified Flow.
This instructs the API to consider the specified msgID acknowledged at the application layer. The library does not send positive acknowledgments immediately. It stores the state for acknowledged messages internally and acknowledges messages, in bulk, when a threshold or timer is reached. Negative outcomes are sent immediately.
Use this function instead of solClient_flow_sendAck on flows configured for negative outcomes. Besides SOLCLIENT_OUTCOME_ACCEPTED, which is equivalent to an Ack, negative outcomes are allowed too. SOLCLIENT_OUTCOME_FAILED means the message will be redelivered, SOLCLIENT_OUTCOME_REJECTED means the message is removed from the queue and moved to the DMQ if configured.
Applications must only settle a message on the Flow on which it was received. Using the msgId received on one Flow when settling on another may result in no message being removed from (or returned to) the message-spool or the wrong message being removed from (or returned to) the message-spool.
Ignored on transacted flows.
The exact behavior of solClient_flow_settleMsg() is controlled by Flow property SOLCLIENT_FLOW_PROP_ACKMODE:
WARNING: If SOLCLIENT_FLOW_PROP_ACKMODE is set to SOLCLIENT_FLOW_PROP_ACKMODE_AUTO (the default behavior), the function returns SOLCLIENT_OK, but with a warning that solClient_flow_settleMsg is ignored as the flow is in auto-ack mode.
WARNING: If SOLCLIENT_FLOW_PROP_REQUIRED_OUTCOME_FAILED and/or SOLCLIENT_FLOW_PROP_REQUIRED_OUTCOME_REJECTED is not set, (the default behavior), but SOLCLIENT_OUTCOME_FAILED and/or SOLCLIENT_OUTCOME_REJECTED is attempted, the function returns SOLCLIENT_FAIL with subcode SOLCLIENT_SUBCODE_INVALID_FLOW_OPERATION, the message is not settled on the broker, and a warning is logged that solClient_flow_settleMsg is ignored because the flow was not set up for it.
opaqueFlow_p | The opaque Flow that is returned when the Flow was created. |
msgId | The 64-bit messageId for the settleded message. |
outcome | The positive or negative outcome with which the message is settled. |
solClient_dllExport solClient_returnCode_t solClient_flow_start | ( | solClient_opaqueFlow_pt | opaqueFlow_p | ) |
Opens the receiver on the specified Flow.
This method opens the Flow window to the broker so further messages can be received. For browser flows (SOLCLIENT_FLOW_PROP_BROWSER), applications have to call the function to get more messages.
A Flow may be created with the window closed by setting the Flow property SOLCLIENT_FLOW_PROP_START_STATE to SOLCLIENT_PROP_DISABLE_VAL. When a Flow is created in this way, messages will not be received on the Flow until after solClient_flow_start() is called.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
solClient_dllExport solClient_returnCode_t solClient_flow_stop | ( | solClient_opaqueFlow_pt | opaqueFlow_p | ) |
Closes the receiver on the specified Flow.
This method will close the Flow window to the broker so further messages will not be received until solClient_flow_start() is called. Messages in transit when this method is called will still be delivered to the application. So the application must expect that the receive message callback can be called even after calling solClient_flow_stop(). The maximum number of messages that may be in transit at any one time is controlled by SOLCLIENT_FLOW_PROP_WINDOWSIZE and SOLCLIENT_FLOW_PROP_MAX_UNACKED_MESSAGES (see solClient_flow_setMaxUnacked()).
A Flow can be created with the window closed by setting the Flow property SOLCLIENT_FLOW_PROP_START_STATE to SOLCLIENT_PROP_DISABLE_VAL. When a Flow is created in this way, messages will not be received on the Flow until after solClient_flow_start() is called.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
solClient_dllExport solClient_returnCode_t solClient_flow_topicSubscribeWithDispatch | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p, | ||
solClient_flow_rxMsgDispatchFuncInfo_t * | funcInfo_p, | ||
void * | correlationTag | ||
) |
Allows messages received on an endpoint Flow to be dispatched to different message receive callbacks and with different user_p based on topic in the mesage.
If the endpoint supports adding topics (Queue endpoints), then this function will also add the Topic subscription to the endpoint unless SOLCLIENT_SUBSCRIBE_FLAGS_LOCAL_DISPATCH_ONLY is set. SOLCLIENT_SUBSCRIBE_FLAGS_LOCAL_DISPATCH_ONLY is implied for all other endpoints.
If the pointer to the dispatch function info (funcinfo_p) is NULL, the Topic subscription is only added to the endpoint and no local dispatch entry is created. This operation is then identical to solClient_session_endpointTopicSubscribe().
SOLCLIENT_SUBSCRIBE_FLAGS_LOCAL_DISPATCH_ONLY can only be set when funcinfo_p is not NULL. Consequently funcinfo_p may not be NULL for non-Queue endpoints.
The Session property SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH must be enabled for a non-NULL funcinfo_p to be specified.
When funcinfo_p is not NULL, the received messages on the Topic Endpoint Flow are further dispatched, received messages are dispatched to the associated callback_p when the received message topic matches the topic subscription.
Received messages may be dispatched multiple times if multiple dispatch entries match.
opaqueFlow_p | The opaque Flow that is returned when the Flow was created. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
funcInfo_p | The message receive callback information. See structure solClient_flow_rxMsgDispatchFuncInfo. |
correlationTag | A correlationTag pointer that is returned in the confirm or fail sessionEvent for the subscription. This is only used if SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM is set and SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM is not set. |
A successful call has a return code of SOLCLIENT_OK except when using SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM without SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM. In that case, the return code will be SOLCLIENT_IN_PROGRESS because the call returns without waiting for the operation to complete.
solClient_dllExport solClient_returnCode_t solClient_flow_topicUnsubscribeWithDispatch | ( | solClient_opaqueFlow_pt | opaqueFlow_p, |
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p, | ||
solClient_flow_rxMsgDispatchFuncInfo_t * | funcInfo_p, | ||
void * | correlationTag | ||
) |
Removes a topic dispatch from an endpoint Flow.
When the Flow is connected to a Queue endpoint, this function also removes the Topic subscription from the Queue unless SOLCLIENT_SUBSCRIBE_FLAGS_LOCAL_DISPATCH_ONLY is set.
opaqueFlow_p | The opaque Flow returned when the Flow was created. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
funcInfo_p | The message receive callback information. See structure solClient_flow_rxMsgDispatchFuncInfo. |
correlationTag | A correlationTag pointer that is returned as is in the confirm or fail sessionEvent for the subscription. This is only used if SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM is set and SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM is not set. |
A successful call has a return code of SOLCLIENT_OK except when using SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM without SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM. In that case, the return code will be SOLCLIENT_IN_PROGRESS because the call returns without waiting for the operation to complete.
solClient_dllExport solClient_returnCode_t solClient_generateUUID | ( | solClient_uuid_t * | uuid_p | ) |
Returns a Universally Unique Identifier (UUID) as a 128-bit value, as per IETF RFC 4122.
Only a version 4 UUID (generated from random or pseudo-random numbers) is supported.
uuid_p | A pointer to UUID value to be filled in. |
solClient_dllExport solClient_returnCode_t solClient_generateUUIDString | ( | char * | uuid_p, |
size_t | bufferSize | ||
) |
Returns a Universally Unique Identifier (UUID) as a NULL-terminated string, as per IETF RFC 4122.
Only a version 4 UUID (generated from random or pseudo-random numbers) is supported. The size of the buffer provided must be at least SOLCLIENT_UUID_STRING_BUFFER_SIZE bytes in size to hold the NULL-terminated UUID string value. An example output string is: 4e112068-7836-4e2f-af14-82682569bdfe (NULL-terminated).
uuid_p | A pointer to string buffer to fill in. |
bufferSize | The size (in bytes) of provided buffer; must be at least SOLCLIENT_UUID_STRING_BUFFER_SIZE. |
solClient_dllExport solClient_errorInfo_pt solClient_getLastErrorInfo | ( | void | ) |
Returns a pointer to a solClient_errorInfo structure, which contains the last captured error information for the calling thread.
This information is captured on a per-thread basis. The returned structure is only valid until the thread makes the next API call, so if the calling thread wants to keep any of the structure fields, it must make a local copy of the information of interest.
Any API call that returns SOLCLIENT_FAIL or SOLCLIENT_NOT_READY also updates the per-thread error information. Applications that wish extra information on the error, should retrieve the solClient_errorInfo structure.
The API always sets the solClient_errorInfo information before invoking any application callback. Therefore application may always call solClient_getLastErrorInfo() while handling event callbacks.
solClient_dllExport solClient_returnCode_t solClient_initialize | ( | solClient_log_level_t | initialLogLevel, |
solClient_propertyArray_pt | props | ||
) |
This function must be called before any other API interface call is made, with the exception of solClient_log_setCallback(), which can be called first to intercept all logs, and solClient_log_setFile(), which can be used to change the log destination when the log callback is not in use.
Typically solClient_initialize() is called once during program initialization. Only configuration property names starting with GLOBAL_ are processed; other property names are ignored. Any values not supplied are set to default values. This function takes care of any required global initialization. Note that the property values are stored internally in the API, and the caller does not have to maintain the props array or the strings that are pointed to after this call completes. Also, the API does not modify any of the strings pointed to by props when processing the property list.
initialLogLevel | The initial log level for logs for all log categories. This value can later be changed using solClient_log_setFilterLevel. If the default log level is desired, use SOLCLIENT_LOG_DEFAULT_FILTER. However, it is preferred that the application supply the log level from its own command line (or some other form of configuration) so that the log level can quickly be changed without recompiling the application. |
props | An array of name and value string pairs for global configuration properties, or NULL, if there are no global properties to set. |
solClient_dllExport const char* solClient_log_categoryToString | ( | solClient_log_category_t | category | ) |
Returns a string representation (for example, "API") of the log category passed in.
category | The log category to convert to a string representation. |
solClient_dllExport const char* solClient_log_levelToString | ( | solClient_log_level_t | level | ) |
Returns a string representation (for example, "ERROR") of the log level passed in.
level | The log level to convert to a string representation. |
solClient_dllExport solClient_returnCode_t solClient_log_setCallback | ( | solClient_log_callbackFunc_t | callback_p, |
void * | user_p | ||
) |
Allows for the registration of an optional log callback, which is called each time a new, non-filtered, log message is emitted by the API.
If a callback is not registered, then, by default, the API prints non-filtered logs to stderr, although the destination file can be changed through solClient_log_setFile(). Setting the callback routine to NULL reverts to the default log output behavior. Note that solClient_log_setCallback() can be called before solClient_initialize() in order to intercept all logs.
callback_p | The routine to call for each non-filtered log. |
user_p | A pointer to opaque user data that is passed back to the log callback. |
solClient_dllExport solClient_returnCode_t solClient_log_setFile | ( | const char * | logFileName_p | ) |
Allows the log file, which defaults to stderr, to be changed to a file specified by the caller.
This file is only used if a log callback has not been set through solClient_log_setCallback(). Setting the file name to NULL or a zero-length string reverts the file back to stderr. If an error is encountered when writing a log message to the specified file, the log file is automatically reverted back to stderr. Note that solClient_log_setFile() can be called before solClient_initialize().
logFileName_p | The new file name to use, or use the default (stderr) if NULL or zero length. |
solClient_dllExport solClient_returnCode_t solClient_log_setFilterLevel | ( | solClient_log_category_t | category, |
solClient_log_level_t | level | ||
) |
Allows the log level filter to be set.
Any logs of lower severity than the filter level specified are not emitted by the API. For example, if the filter level is set to solClient_LOG_ERROR, then only logs of this severity or higher (for example, solClient_LOG_CRITICAL) are emitted. Less severe logs are filtered out. The log filter level is applied globally to ALL API Sessions. If this function is not called, then the default log filter level of SOLCLIENT_LOG_DEFAULT_FILTER is in force.
category | The log category to which the new log level applies. |
level | The new log level at which logs are emitted. |
solClient_dllExport solClient_returnCode_t solClient_log_unsetCallback | ( | void | ) |
Reset the log callback function to default log out behavior.
All non-filtered logs are printed to stderr after this function is called.
solClient_dllExport void solClient_resetLastErrorInfo | ( | void | ) |
Clears the last error info, which is recorded on a per-thread basis.
The error information is reset such that the sub code is SOLCLIENT_SUBCODE_OK, the error strings are empty strings, etc.
solClient_dllExport const char* solClient_returnCodeToString | ( | solClient_returnCode_t | returnCode | ) |
Returns a string representation of the return code passed in.
returnCode | The return code to convert to a string representation. |
solClient_dllExport const char* solClient_rxStatToString | ( | solClient_stats_rx_t | rxStat | ) |
Returns a string representation of the receive statistic name for the given statistic constant passed in.
rxStat | receive statistic constant (solClient_stats_rx_t). |
solClient_dllExport solClient_returnCode_t solClient_session_clearStats | ( | solClient_opaqueSession_pt | opaqueSession_p | ) |
Clears all of the receive and transmit statistics for the specified Session.
All previous Session statistics are lost when this is called.
opaqueSession_p | The opaque Session returned when Session was created. |
solClient_dllExport solClient_returnCode_t solClient_session_connect | ( | solClient_opaqueSession_pt | opaqueSession_p | ) |
Connects the specified Session.
A Session connection can be carried out in a blocking or non-blocking mode, depending upon the Session property SOLCLIENT_SESSION_PROP_CONNECT_BLOCKING. In blocking mode, the calling thread is blocked until either the Session connection attempt succeeds or is determined to have failed. If the connection succeeds, SOLCLIENT_OK is returned. If the Session could not connect, SOLCLIENT_NOT_READY is returned. In non-blocking mode, SOLCLIENT_IN_PROGRESS is returned upon a successful Session connect request, and the connection attempt proceeds in the background. In both non-blocking and blocking mode, a Session event is generated for the Session: SOLCLIENT_SESSION_EVENT_UP_NOTICE, if the Session was connected successfully; or SOLCLIENT_SESSION_EVENT_CONNECT_FAILED_ERROR, if the Session failed to connect. For blocking mode, the Session event is issued before the call to solClient_session_connect() returns. For non-blocking mode, the timing is undefined (that is, it could occur before or after the call returns, but it will typically be after). A Session connection timer, controlled by the Session property SOLCLIENT_SESSION_PROP_CONNECT_TIMEOUT_MS, controls the maximum amount of time a Session connect attempt lasts for. If this amount time is exceeded, a SOLCLIENT_SESSION_EVENT_CONNECT_FAILED_ERROR event is issued for the Session. If there is an error when solClient_session_connect() is invoked, SOLCLIENT_FAIL is returned, and a Session event is not subsequently issued. Therefore, the caller must check for a return code of SOLCLIENT_FAIL if it has logic that depends upon a subsequent Session event to be issued. For a non-blocking Session connect invocation, if the Session connect attempt eventually fails, the last error information to indicate the reason for the failure cannot be determined by the calling thread, rather it must be discovered through the Session event callback (and solClient_getLastErrorInfo can be called in the Session event callback to get further information). For a blocking Session connect invocation, if the Session connect attempt does not return SOLCLIENT_OK, then the calling thread can determine the failure reason by immediately calling solClient_getLastErrorInfo.
opaqueSession_p | The opaque Session that was returned when Session was created. |
solClient_dllExport solClient_returnCode_t solClient_session_create | ( | solClient_propertyArray_pt | props, |
solClient_opaqueContext_pt | opaqueContext_p, | ||
solClient_opaqueSession_pt * | opaqueSession_p, | ||
solClient_session_createFuncInfo_t * | funcInfo_p, | ||
size_t | funcInfoSize | ||
) |
Creates a new Session within a specified Context.
The session properties are supplied as an array of name/value pointer pairs, where the name and value are both strings. Only configuration property names starting with "SESSION_" are processed; other property names are ignored. Any values not supplied are set to default values. When the Session is created, an opaque Session pointer is returned to the caller, and this value is then used for any Session-level operations (for example, sending a message). The passed-in structure functInfo_p provides information on the message receive callback function and the Session event function which the application has provided for this Session. Both of these callbacks are mandatory. The message receive callback is invoked for each received message on this Session. The Session event callback is invoked when Session events occur, such as the Session going up or down. Both callbacks are invoked in the context of the Context thread to which this Session belongs. Note that the property values are stored internally in the API and the caller does not have to maintain the props array or the strings that are pointed to after this call completes. When processing the property list, the API will not modify any of the strings pointed to by props.
props | An array of name/value string pair pointers to configure session properties. |
opaqueContext_p | The Context in which the Session is to be created. |
opaqueSession_p | An opaque Session pointer is returned that refers to the created Session. |
funcInfo_p | A pointer to a structure that provides information on callback functions for events and received messages. |
funcInfoSize | The size (in bytes) of the passed-in funcInfo structure to allow the structure to grow in the future. |
solClient_dllExport solClient_returnCode_t solClient_session_createFlow | ( | solClient_propertyArray_pt | props, |
solClient_opaqueSession_pt | opaqueSession_p, | ||
solClient_opaqueFlow_pt * | opaqueFlow_p, | ||
solClient_flow_createFuncInfo_t * | funcInfo_p, | ||
size_t | funcInfoSize | ||
) |
Creates a new Flow within a specified Session.
Flow characteristics and behavior are defined by Flow properties. The Flow properties are supplied as an array of name/value pointer pairs, where the name and value are both strings. FLOW and ENDPOINT configuration property names are processed; other property names are ignored. If the Flow creation specifies a non-durable endpoint, ENDPOINT properties can be used to change the default properties on the non-durable endpoint. Any values not supplied are set to default values.
When the Flow is created, an opaque Flow pointer is returned to the caller, and this value is then used for any Flow-level operations (for example, starting/stopping a Flow, getting statistics, sending an acknowledgment). The passed-in structure functInfo_p provides information on the message receive callback function and the Flow event function which the application has provided for this Flow. Both of these callbacks are mandatory. The message receive callback is invoked for each received message on this Flow. The Flow event callback is invoked when Flow events occur, such as the Flow going up or down. Both callbacks are invoked in the context of the Context thread to which the controlling Session belongs.
Flow creation can be carried out in a blocking or non-blocking mode, depending upon the Flow property SOLCLIENT_FLOW_PROP_BIND_BLOCKING. In blocking mode, the calling thread is blocked until the Flow connection attempt either succeeds or is determined to have failed. If the connection succeeds, SOLCLIENT_OK is returned, and if the Flow could not be connected, SOLCLIENT_NOT_READY is returned. In non-blocking mode, SOLCLIENT_IN_PROGRESS is returned upon a successful Flow create request, and the connection attempt proceeds in the background. In both a non-blocking and blocking mode, a Flow event is generated for the Session: SOLCLIENT_FLOW_EVENT_UP_NOTICE, if the Flow was connected successfully; or SOLCLIENT_FLOW_EVENT_BIND_FAILED_ERROR, if the Flow failed to connect. For blocking mode, the Flow event is issued before the call to solClient_session_createFlow() returns. For non-blocking mode, the timing is undefined (that is, it could occur before or after the call returns, but it will typically be after). A Flow connection timer, controlled by the Flow property SOLCLIENT_FLOW_PROP_BIND_TIMEOUT_MS, controls the maximum amount of time a Flow connect attempt lasts for. Upon expiry of this time, a SOLCLIENT_FLOW_EVENT_BIND_FAILED_ERROR event is issued for the Session. If there is an error when solClient_session_createFlow() is invoked, then SOLCLIENT_FAIL is returned, and a Flow event is not subsequently issued. Thus, the caller must check for a return code of SOLCLIENT_FAIL if it has logic that depends upon a subsequent Flow event to be issued. For a non-blocking Flow create invocation, if the Flow create attempt eventually fails, the error information that indicates the reason for the failure cannot be determined by the calling thread. It must be discovered through the Flow event callback (and solClient_getLastErrorInfo can be called in the Flow event callback to get further information). For a blocking Flow create invocation, if the Flow create attempt does not return SOLCLIENT_OK, then the calling thread can determine the failure reason by immediately calling solClient_getLastErrorInfo. For a blocking Flow creation, SOLCLIENT_NOT_READY is returned if the created failed due to the bind timeout expiring (see SOLCLIENT_FLOW_PROP_BIND_TIMEOUT_MS). Note that the property values are stored internally in the API and the caller does not have to maintain the props array or the strings that are pointed to after this call completes. The API does not modify any of the strings pointed to by props when processing the property list.
If the flow property SOLCLIENT_FLOW_PROP_BIND_ENTITY_ID is set to SOLCLIENT_FLOW_PROP_BIND_ENTITY_TE, the flow Topic property SOLCLIENT_FLOW_PROP_TOPIC must be set, which will replace any existing topic on the topic-endpoint.
WARNING: By default the SOLCLIENT_FLOW_PROP_ACKMODE is set to SOLCLIENT_FLOW_PROP_ACKMODE_AUTO, which automatically acknowledges all received messages. Function solClient_flow_sendAck returns SOLCLIENT_OK in the mode SOLCLIENT_FLOW_PROP_ACKMODE_AUTO, but with a warning that solClient_flow_sendAck is ignored as flow is in auto-ack mode.
props | An array of name/value string pair pointers to configure Flow properties. |
opaqueSession_p | The Session in which the Flow is to be created. |
opaqueFlow_p | The returned opaque Flow pointer that refers to the created Flow. |
funcInfo_p | A pointer to a structure that provides information on callback functions for events and received messages. |
funcInfoSize | The size of the passed-in funcInfo structure (in bytes) to allow the structure to grow in the future. |
solClient_dllExport solClient_returnCode_t solClient_session_createTemporaryTopicName | ( | solClient_opaqueSession_pt | opaqueSession_p, |
char * | topic_p, | ||
size_t | length | ||
) |
Create a temporary Topic string.
This string may be passed as the Topic to solClient_session_createFlow() when connecting with a non-durable Topic Endpoint. It may also be used in a solClient_destination_t that is sent to a peer application in the ReplyTo field of the Solace Header map or in a structured data field.
opaqueSession_p | The opaque Session returned when the Session was created. |
topic_p | A pointer to a string location where the string is returned. |
length | The maximum string length to return. |
solClient_dllExport solClient_returnCode_t solClient_session_createTransactedSession | ( | solClient_propertyArray_pt | props, |
solClient_opaqueSession_pt | session_p, | ||
solClient_opaqueTransactedSession_pt * | transactedSession_p, | ||
void * | rfu_p | ||
) |
Creates a Transacted Session object that is used in subsequent transactions.
It is recommended that a client application use a default Context-bound Message Dispatcher for its asynchronous message delivery within a Transacted Session.
By enabling Transacted Session property SOLCLIENT_TRANSACTEDSESSION_PROP_CREATE_MESSAGE_DISPATCHER, a TransactedSession-bound Message Dispatcher is created as well when a Transacted Session is created. The lifecycle of a Message Dispatcher is bounded to the lifecycle of the corresponding API object.
props | An array of name/value string pair pointers to configure Transacted Session properties. |
session_p | Session in which a Transacted Session is to be created. |
transactedSession_p | Pointer to the location which contains the opaque Transacted Session pointer on return. |
rfu_p | Reserved for future use; must be NULL. |
solClient_dllExport solClient_returnCode_t solClient_session_destroy | ( | solClient_opaqueSession_pt * | opaqueSession_p | ) |
Destroys a previously created Session.
Upon return, the opaque Session pointer is set to NULL. If the Session being destroyed is still in a connected state, any buffered messages which have not been sent yet are discarded. If the application wants to ensure that any buffered messages are first sent, solClient_session_disconnect() must be called before solClient_session_destroy().
This operation must not be performed in a Session callback for the Session being destroyed. This includes all Flows on the Session, as well as the application supplied event and data callback functions (see solClient_session_createFuncInfo) functions.
opaqueSession_p | An opaque Session that was returned when the Session was created. |
solClient_dllExport solClient_returnCode_t solClient_session_disconnect | ( | solClient_opaqueSession_pt | opaqueSession_p | ) |
Disconnects the specified Session.
Once disconnected, topics/subscriptions can no longer be added or removed from the Session, messages can no longer be received for the Session, and messages cannot be sent to the Session. The Session definition remains, and the Session can be connected again (using solClient_session_connect()). When solClient_session_disconnect() is called, if there are buffered messages waiting to be transmitted for the Session (for example, because the send socket is full), the caller is blocked until all buffered data has been written to the send socket. Note the following: 1) This is done regardless of whether the Session has been configured for a blocking or non-blocking send operation (see SOLCLIENT_SESSION_PROP_SEND_BLOCKING). 2) A call to solClient_session_destroy(), solClient_context_destroy(), or solClient_cleanup() while a Session is connected (without first disconnecting the Session explicitly through a call to solClient_session_disconnect()) discards any buffered messages.
opaqueSession_p | The opaque Session returned when Session was created. |
solClient_dllExport solClient_returnCode_t solClient_session_dteUnsubscribe | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | teName_p, | ||
void * | correlationTag | ||
) |
Sends a Topic Endpoint unsubscribe command to the broker.
This is only valid if no subscribers are bound to the Topic Endpoint. The application can specify a correlation tag to match up responses. The correlation tag is a void pointer with no significance to the API. When the broker responds to the unsubscribe command, the correlation tag is returned in the eventInfo structure of the callback event. If this command succeeds there is a later event callback of either SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_OK or SOLCLIENT_SESSION_EVENT_TE_UNSUBSCRIBE_ERROR.
opaqueSession_p | An opaque Session pointer returned when Session was created. |
teName_p | A string containing the Topic Endpoint name. |
correlationTag | Correlation tag returned in the resulting Session event. |
solClient_dllExport solClient_returnCode_t solClient_session_endpointDeprovision | ( | solClient_propertyArray_pt | props, |
solClient_opaqueSession_pt | opaqueSession_p, | ||
solClient_uint32_t | provisionFlags, | ||
void * | correlationTag | ||
) |
Remove an endpoint from the broker.
An application can only remove an endpoint that has previously been provisioned with solClient_session_provistionEndpoint(). The broker will reject with an error any attempt to remove a temporary endpoint (provisioned by solClient_session_createFlow()), or a permanent endpoint provisioned by the administrator through the CLI or solAdmin.
props | The provision properties used to identify the endpoint. |
opaqueSession_p | The Session which is used to delete the endpoint. |
provisionFlags | Flags to control delete operation. |
correlationTag | The correlation tag returned in the resulting Session event. |
solClient_dllExport solClient_returnCode_t solClient_session_endpointProvision | ( | solClient_propertyArray_pt | props, |
solClient_opaqueSession_pt | opaqueSession_p, | ||
solClient_uint32_t | provisionFlags, | ||
void * | correlationTag, | ||
char * | queueNetworkName, | ||
size_t | qnnSize | ||
) |
Provision, on the broker, a durable Queue or Topic Endpoint using the specified Session.
SOLCLIENT_ENDPOINT_PROP_ID must be set to either SOLCLIENT_ENDPOINT_PROP_QUEUE or SOLCLIENT_ENDPOINT_PROP_TE in this interface. Only durable (SOLCLIENT_ENDPOINT_PROP_DURABLE is enabled) endpoints may be provisioned. A non-durable endpoint is created when a Flow is bound to it with solClient_session_createFlow().
Endpoint creation can be carried out in a blocking or non-blocking mode, depending upon the provisionFlags. If SOLCLIENT_PROVISION_FLAGS_WAITFORCONFIRM is set in provisionFlags, the calling thread is blocked until the endpoint creation attempt either succeeds or is determined to have failed. If the endpoint is created, SOLCLIENT_OK is returned. When SOLCLIENT_PROVISION_FLAGS_WAITFORCONFIRM is not set, SOLCLIENT_IN_PROGRESS is returned when the endpoint provision request is successfully sent, and the creation attempt proceeds in the background. An endpoint creation timer, controlled by the property SOLCLIENT_SESSION_PROP_PROVISION_TIMEOUT_MS, controls the maximum amount of time a creation attempt lasts for. Upon expiry of this time, a SOLCLIENT_SESSION_EVENT_PROVISION_ERROR event is issued for the Session. If there is an error when solClient_session_endpointProvision() is invoked, then SOLCLIENT_FAIL is returned, and a provision event will not be subsequently issued. Thus, the caller must check for a return code of SOLCLIENT_FAIL if it has logic that depends upon a subsequent provision event to be issued. For a non-blocking endpoint provision, if the creation attempt eventually fails, the error information that indicates the reason for the failure cannot be determined by the calling thread, rather it must be discovered through the Session event callback (and solClient_getLastErrorInfo() can be called in the Session event callback to get further information). For a blocking endpoint creation invocation, if the creation attempt does not return SOLCLIENT_OK, then the calling thread can determine the failure reason by immediately calling solClient_getLastErrorInfo. For a blocking endpoint creation, SOLCLIENT_NOT_READY is returned if the create failed due to the timeout expiring (see SOLCLIENT_SESSION_PROP_PROVISION_TIMEOUT_MS).
props | The provision properties used to define the endpoint. |
opaqueSession_p | The Session which is used to create the endpoint. |
provisionFlags | Flags to control provision operation. |
correlationTag | A correlation tag returned in the resulting Session event. |
queueNetworkName | This parameter is deprecated but still supported for backwards compatibility. It is recommended to pass NULL for this parameter. When a non-null pointer is passed, it is used as a pointer to the location in which the network name of the created Queue Network Name is returned. This can be used to set the destination for published messages. An empty string is returned when the created endpoint is a Topic Endpoint. For publishing to a queue, the current recommended practice is to use solClient_destination_t where the destType is set to SOLCLIENT_QUEUE_DESTINATION and dest is set to the queue name. |
qnnSize | As with queueNetworkName, this is a deprecated parameter. When passing NULL as the queueNetworkName, pass 0 as qnnSize. When queueNetworkName is not null, qnnSize is the maximum length of the Queue Network Name string that can be returned. |
solClient_dllExport solClient_returnCode_t solClient_session_endpointTopicSubscribe | ( | solClient_propertyArray_pt | endpointProps, |
solClient_opaqueSession_pt | opaqueSession_p, | ||
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p, | ||
void * | correlationTag | ||
) |
Add a Topic subscription to the endpoint defined by the endpoint properties if the operation is supported on the endpoint.
Topic subscriptionscan be added to Queue endpoints (SOLCLIENT_ENDPOINT_PROP_QUEUE) and to the special endpoint for each Session on brokers running SolOS-TR (SOLCLIENT_ENDPOINT_PROP_CLIENT_NAME).
Adding subscriptions to Queues
Guaranteed messages are published to a Queue when it is set as the destination of the message. However, you can also add one or more Topic subscriptions to a durable or temporary Queue so that Guaranteed messages published to those topics are also delivered to the Queue.
Adding subscriptions to remote clients
A subscription manager client can add subscriptions on behalf of other clients. These Topic subscriptions are not retained in the subscription cache and are not be reapplied upon reconnection.
It is an error to add subscriptions to a Topic Endpoint (SOLCLIENT_ENDPOINT_PROP_TE) with this interface. A subscription can only be added to a Topic Endpoint when a Flow is bound to it. The subscription is part of the Flow properties.
endpointProps | The provision properties used to identify the endpoint. |
opaqueSession_p | The Session which is used to perform the subscription request. If the Session also supports SOLCLIENT_SESSION_PROP_REAPPLY_SUBSCRIPTIONS, then the subscriptions are be remembered and automatically reapplied should the Session fail and reconnect automatically. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | Topic Subscription to apply as a NULL-terminated UTF-8 string. |
correlationTag | Correlation tag returned in the resulting Session event. |
solClient_dllExport solClient_returnCode_t solClient_session_endpointTopicUnsubscribe | ( | solClient_propertyArray_pt | endpointProps, |
solClient_opaqueSession_pt | opaqueSession_p, | ||
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p, | ||
void * | correlationTag | ||
) |
Remove a Topic subscription from the endpoint defined by the endpoint properties if the operation is supported on the endpoint.
Used to remove subscriptions added by solClient_session_endpointTopicSubscribe() . Refer to that function's documentation for operational parameters. This method cannot remove subscriptions added through the CLI.
endpointProps | The provision properties used to identify the endpoint. |
opaqueSession_p | The Session which is used to perform the remove subscription request. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | Topic Subscription to remove as a NULL-terminated UTF-8 string. |
correlationTag | Correlation tag returned in the resulting Session event. |
solClient_dllExport const char* solClient_session_eventToString | ( | solClient_session_event_t | sessionEvent | ) |
Returns a string representation of the Session event passed in.
sessionEvent | The Session event to convert to a string representation. |
solClient_dllExport solClient_returnCode_t solClient_session_getCapability | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | capabilityName_p, | ||
solClient_field_t * | field_p, | ||
size_t | fieldSize | ||
) |
Gets the value of the specified capability for the Session.
The caller provides a solClient_field_t structure that is set on success with the proper type and value for the property requested.
opaqueSession_p | The opaque Session returned when the Session was created. |
capabilityName_p | The name of the Session capability the value is to be returned for. |
field_p | A pointer to the solClient_field_t provided by the caller in which to place the capability value. |
fieldSize | The size (in bytes) of the solClient_field_t provided by the caller. |
solClient_dllExport solClient_returnCode_t solClient_session_getContext | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_opaqueContext_pt * | opaqueContext_p | ||
) |
Returns the Context associated with the specified Session.
Sessions are created within a Context (see solClient_session_create) and this routine can be used if the application has a Session pointer and needs to determine the associated Context. For example, in a Session event callback in which a Session pointer is provided, if the application wishes to start a timer, it needs the Context pointer, and this routine can be used to get the Context pointer from the Session pointer.
opaqueSession_p | An opaque Session that was returned when the Session was created. |
opaqueContext_p | An opaque Context associated with the Session that is returned. |
solClient_dllExport solClient_returnCode_t solClient_session_getProperty | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | propertyName_p, | ||
char * | buf_p, | ||
size_t | bufSize | ||
) |
Gets the value of the specified Session property for the Session.
The property value is copied out to buffer provided by the caller. The returned value is a NULL-terminated string.
opaqueSession_p | An opaque Session returned when the Session was created. |
propertyName_p | The name of the Session property for which the value is to be returned. |
buf_p | A pointer to the buffer provided by the caller in which to place the NULL-terminated property value string. |
bufSize | The size (in bytes) of the buffer provided by the caller. |
solClient_dllExport solClient_returnCode_t solClient_session_getRxStat | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_stats_rx_t | rxStatType, | ||
solClient_stats_pt | rxStat_p | ||
) |
Returns an individual receive statistic.
If multiple receive statistics are needed, it is more efficient to use solClient_session_getRxStats rather than to call this routine multiple times for different statistics.
opaqueSession_p | The opaque Session returned when the Session was created. |
rxStatType | The type of receive statistic to return. |
rxStat_p | A pointer to a variable to hold the returned statistic. |
solClient_dllExport solClient_returnCode_t solClient_session_getRxStats | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_stats_pt | rxStats_p, | ||
solClient_uint32_t | arraySize | ||
) |
Returns an array of Session receive statistics.
If the array is smaller than the number of defined receive statistics, only the first N defined statistics are returned. If the array is larger than the number of defined receive statistics, only the defined entries are filled in. The other entries are not touched.
opaqueSession_p | An opaque Session returned when the Session was created. |
rxStats_p | A pointer to an array of statistic values of type solClient_stats_t. |
arraySize | The number of entries in the passed in array (not the number of bytes). |
solClient_dllExport solClient_returnCode_t solClient_session_getTxStat | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_stats_tx_t | txStatType, | ||
solClient_stats_pt | txStat_p | ||
) |
Returns an individual transmit statistic.
If multiple transmit statistics are needed, it is more efficient to use solClient_session_getTxStats rather than to call this routine multiple times for different statistics.
opaqueSession_p | An opaque Session returned when Session was created. |
txStatType | The type of transmit statistic to return. |
txStat_p | A pointer to a variable to hold the returned statistic. |
solClient_dllExport solClient_returnCode_t solClient_session_getTxStats | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_stats_pt | txStats_p, | ||
solClient_uint32_t | arraySize | ||
) |
Returns an array of Session transmit statistics.
If the array is smaller than the number of defined transmit statistics, only the first N defined statistics are returned. If the array is larger than the number of defined transmit statistics, only the defined entries are filled in. The other entries are not touched.
opaqueSession_p | The opaque Session returned when the Session was created. |
txStats_p | A pointer to an array of statistic values of type solClient_Stats_t. |
arraySize | The number of entries in the array passed in (NOT the number of bytes). |
solClient_dllExport solClient_bool_t solClient_session_isCapable | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | capabilityName_p | ||
) |
Checks if the specified capability is set on the currently connected Session.
Returns true if the Session has the capability requested.
opaqueSession_p | The opaque Session returned when the Session was created. |
capabilityName_p | The name of the session capability the value is to be returned for. |
solClient_dllExport solClient_returnCode_t solClient_session_logFlowInfo | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_log_level_t | level | ||
) |
Outputs a log at the specified log level at this moment containing the Flow state information for all Flows at this moment.
It also dumps a summary of the number of active Flows, as well as the allocated but unbound Flows.
opaqueSession_p | The opaque Session returned when Session was created. |
level | The log level used to output the statistics log. |
solClient_dllExport solClient_returnCode_t solClient_session_logStats | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_log_level_t | level | ||
) |
Outputs a log at the specified log level at this moment containing the value of all receive and transmit statistics for the specified Session.
This routine is useful for application debugging because it allows an application to easily output all available Session statistics.
opaqueSession_p | The opaque Session returned when the Session was created. |
level | The log level used to output the statistics log. |
solClient_dllExport solClient_returnCode_t solClient_session_modifyClientInfo | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_propertyArray_pt | props, | ||
solClient_modifyPropFlags_t | flag, | ||
void * | correlation_p | ||
) |
Allows the following client name and description properties of a Session to be modified after the Session has been created.
@li ::SOLCLIENT_SESSION_PROP_APPLICATION_DESCRIPTION @li ::SOLCLIENT_SESSION_PROP_CLIENT_NAME
The property modifications can be carried out in a blocking or non-blocking mode, depending on the flag. Attempting to specify other Session properties will result in SOLCLIENT_FAIL being returned.
Note that only one outstanding client info modification request is allowed.
Note that changing client name property would trigger the P2P topic changes. To avoid message loss, it is recommended that this API is used only at the initialization time.
Note that the property values are stored internally in the API, and the caller does not have to maintain the props array or the strings that are pointed to after this call completes. The API also will not modify any of the strings pointed to by props when processing the property list.
opaqueSession_p | The opaque Session that was returned when Session was created. |
props | An array of name/value string pair pointers to modify Session properties. |
flag | A flag to control the operation. Valid flag for this operation is: |
correlation_p | A valid correlationTag pointer for non-blocking mode that will be returned in an asynchronous confirmation (SOLCLIENT_SESSION_EVENT_MODIFYPROP_OK) or failure (SOLCLIENT_SESSION_EVENT_MODIFYPROP_FAIL). |
solClient_dllExport solClient_returnCode_t solClient_session_modifyProperties | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_propertyArray_pt | props | ||
) |
Allows certain properties of a Session to be modified after the Session has been created.
Currently, only the following Session properties can be modified; attempting to specify other Session properties will result in SOLCLIENT_FAIL being returned:
Note: Applications shall use solClient_session_modifyClientInfo() to modify the following Session properties:
Note that the property values are stored internally in the API, and the caller does not have to maintain the props array or the strings that are pointed to after this call completes. The API also will not modify any of the strings pointed to by props when processing the property list.
opaqueSession_p | The opaque Session that was returned when Session was created. |
props | An array of name/value string pair pointers to modify Session properties. |
solClient_dllExport solClient_returnCode_t solClient_session_sendMsg | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_opaqueMsg_pt | msg_p | ||
) |
Sends a message on the specified Session.
The message is composed of a number of optional components that are specified by the msg_p. The application should first allocate a solClient_msg, then use the methods defined in solClientMsg.h to build the message to send.
solClient_session_sendMsg() returns SOLCLIENT_OK when the message has been successfully copied to the transmit buffer or underlying transport, this does not guarantee successful delivery to the Solace messaging broker. When sending Guaranteed messages (persistent or non-persistent), the application will receive a subsequent SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT event for all messages successfully delivered to the Solace messaging broker. For Guaranteed messages, notifications of quota, permission, or other delivery problems will be indicated in a SOLCLIENT_SESSION_EVENT_REJECTED_MSG_ERROR event.
Special Buffering of Guaranteed Messages
Guaranteed messages (SOLCLIENT_DELIVERY_MODE_PERSISTENT or SOLCLIENT_DELIVERY_MODE_NONPERSISTENT) are assured by the protocol between the client and the Solace message router. To make developers' task easier, guaranteed messages are queued for delivery in many instances:
The C-SDK will buffer up to a publishers window size (SOLCLIENT_SESSION_PROP_PUB_WINDOW_SIZE) of guaranteed messages before solClient_session_sendMsg() will either block (when SOLCLIENT_SESSION_PROP_SEND_BLOCKING is enabled) or return SOLCLIENT_WOULD_BLOCK (on active sessions) or return SOLCLIENT_NOT_READY (on disconnected or reconnecting sessions).
For the most part this is desired behavior. Transient sessions failures do not require special handling in applications. When SOLCLIENT_SESSION_PROP_RECONNECT_RETRIES is non-zero, the underlying transport will automatically reconnect and the publishing application does not need to concern itself with special handling for the transient reconnecting state.
opaqueSession_p | The opaque Session returned when the Session was created. |
msg_p | The opaque message created by solClient_msg_alloc. |
solClient_dllExport solClient_returnCode_t solClient_session_sendMultipleMsg | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_opaqueMsg_pt * | msgArray_p, | ||
solClient_uint32_t | numberOfMessages, | ||
solClient_uint32_t * | numberOfMessagesWritten | ||
) |
Sends multiple messages on the specified Session.
For direct messages, using this function is more efficient than multiple calls to solClient_session_send(). This routine is suitable when an application is able to construct multiple messages at once from a single stimulus.
Note that the number of messages which can be sent through a single call to solClient_session_sendMultipleMsg() is limited to SOLCLIENT_SESSION_SEND_MULTIPLE_LIMIT.
For Sessions in which solClient_session_sendMultipleMsg() is used, it is recommended that the Session property SOLCLIENT_SESSION_PROP_TCP_NODELAY be enabled (it is enabled by default). With solClient_session_sendMultipleMsg() multiple messages are sent at once onto a TCP connection, and therefore there is no need to have the operating system carry out the TCP delay algorithm to cause fuller IP packets.
Guaranteed Delivery messages may be specified. It is recommended that all messages to be sent in a batch have the same delivery mode.
solClient_session_sendMultipleMsg() returns SOLCLIENT_OK when the messages have been successfully copied to the transmit buffer or underlying transport, this does not guarantee successful delivery to the Solace messaging broker. When sending Guaranteed messages (persistent or non-persistent), the application will receive a subsequent SOLCLIENT_SESSION_EVENT_ACKNOWLEDGEMENT event for all messages successfully delivered to the Solace messaging broker. For Guaranteed messages, notifications of quota, permission, or other delivery problems will be indicated in a SOLCLIENT_SESSION_EVENT_REJECTED_MSG_ERROR event.
solClient_session_sendMultipleMsg() takes as an argument a location to store the number of messages written (numberOfMessagesWritten). This value will always be equal to the requested numberOfMessages when SOLCLIENT_OK is returned. However on all other return values, it may be possible that part of the message array (msgArray_p) has been written and this value must be checked by applications that need to know which messages have been sent and which have not.
opaqueSession_p | The opaque Session returned when the Session was created. |
msgArray_p | A pointer to an array of solClient_opaqueMsg_pt pointers. Each entry describes one message to be sent. |
numberOfMessages | The number of messages provided in the message array. |
numberOfMessagesWritten | A pointer to the variable to receive the returned number of messages accepted by SolClient. |
solClient_dllExport solClient_returnCode_t solClient_session_sendMultipleSmf | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_bufInfo_pt | smfBufInfo_p, | ||
solClient_uint32_t | numberOfMessages | ||
) |
Sends multiple Solace Message Format (SMF) messages on the specified Session.
opaqueSession_p | The opaque Session returned when the Session was created. |
smfBufInfo_p | A pointer to the bufInfo array describing validly formatted SMF Direct message. |
numberOfMessages | The number of messages in the smfBufInfo_p array. |
solClient_session_sendMultipleSmf() returns SOLCLIENT_OK when the message has be successfully copied to the transmit buffer or underlying transport, this does not guarantee successful delivery to the Solace messaging broker.
solClient_dllExport solClient_returnCode_t solClient_session_sendReply | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_opaqueMsg_pt | rxmsg_p, | ||
solClient_opaqueMsg_pt | replyMsg_p | ||
) |
Send a Reply Message.
This function constructs a Solace binary message header based on the received message and sends a reply to the correct destination. If rxmsg_p is NULL, the application is responsible for setting a destination and correlationId string in the replyMsg. Otherwise the following fields from the rxmsg are used in the replyMsg:
If replyMsg is null, the API creates a replyMsg that contains only correlationId string.
opaqueSession_p | The opaque Session pointer returned when the Session was created. |
rxmsg_p | A pointer to a solClient_msgBuffer that contains the message to reply to. (optional) |
replyMsg_p | A pointer to a solClient_msgBuffer that contains the message to be sent. (optional) |
solClient_dllExport solClient_returnCode_t solClient_session_sendRequest | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_opaqueMsg_pt | msg_p, | ||
solClient_opaqueMsg_pt * | replyMsg_p, | ||
solClient_uint32_t | timeout | ||
) |
Send a Topic Request message.
The application expects an end-to-end reply from the client that receives the message.
If the Reply-To destination in the Solace header map is not set, it is set to the default Session replyTo destination. Leaving the replyTo destination unset and allowing the API to set the default replyTo destination is the easiest way to set a valid replyTo destination.
When the application needs to do a non-blocking request (that is, the timeout parameter is zero), the application may set any replyTo topic destination.
When the application needs to do a blocking request (that is, the timeout parameter is non-zero), the replyTo destination must be a topic that the application has subscribed to for Direct messages. If the replyTo destination is set to an unsubscribed topic, a call to solClient_session_sendRequest() will block until the amount of time set for the timeout parameter expires and then return SOLCLIENT_INCOMPLETE with subcode SOLCLIENT_SUBCODE_TIMEOUT.
If the timeout parameter is zero, this function returns immediately with SOLCLIENT_IN_PROGRESS upon successful buffering of the message for transmission. Any response generated by the destination client is delivered to the replyTo destination as a receive message callback with the response attribute set - solClient_msg_isReplyMsg() returns true. It is entirely within the responsibility of the application to manage asynchronous responses.
When the timeout parameter is non-zero, this function waits for the amount of time specified by the timeout parameter for a response before returning SOLCLIENT_INCOMPLETE, otherwise this function returns SOLCLIENT_OK. If replyMsg_p is non-NULL, this functions returns an opaque message pointer (solClient_opaqueMsg_pt) in the location referenced by replyMsg_p. This message is allocated by the API and contains the received reply. This function allocates the message on behalf of the application and the application must later release the message by calling solClient_msg_free(replyMsg_p).
If this function does not return SOLCLIENT_OK, and replyMsg_p is non-NULL, then the location referenced by replyMsg_p is set to NULL.
opaqueSession_p | The opaque Session pointer that is returned when the Session was created. |
msg_p | A pointer to a solClient_msgBuffer that contains the message to be sent. |
replyMsg_p | A reference to a solClient_msgBuffer pointer that will receive the reply message pointer. If NULL, then only status is returned. If non-NULL the application must call solClient_msg_free() for the replyMsg when it is no longer needed. |
timeout | The maximum time (in milliseconds) to wait for reply. If timeout is set to zero then the function will return immediately SOLCLIENT_IN_PROGRESS after buffering of the message for transmission. |
solClient_dllExport solClient_returnCode_t solClient_session_sendSmf | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_bufInfo_pt | smfBufInfo_p | ||
) |
Sends the given Solace Message Format (SMF) message on the specified Session.
solClient_session_sendSmf() returns SOLCLIENT_OK when the message has be successfully copied to the transmit buffer or underlying transport, this does not guarantee successful delivery to the Solace messaging broker.
opaqueSession_p | The opaque Session returned when the Session was created. |
smfBufInfo_p | A pointer to the bufInfo describing a validly formatted SMF direct message. |
solClient_dllExport solClient_returnCode_t solClient_session_startAssuredPublishing | ( | solClient_opaqueSession_pt | opaqueSession_p | ) |
This is a deprecated function.
It used to be required to call this function to start the Guaranteed Delivery protocol before Guaranteed messages could be sent. This is now done automatically as part of solClient_session_connect(). New applications should not call this function, and they should not rely on the associated Session events SOLCLIENT_SESSION_EVENT_ASSURED_PUBLISHING_UP and SOLCLIENT_SESSION_EVENT_ASSURED_CONNECT_FAILED. To maintain backwards compatibility with existing applications, if solClient_session_startAssuredPublishing() is called (which is only allowed when the Session is in an established state), the application gets one of the following events: SOLCLIENT_SESSION_EVENT_ASSURED_PUBLISHING_UP, if sending of Guaranteed messages is allowed on the Session; or SOLCLIENT_SESSION_EVENT_ASSURED_CONNECT_FAILED.
A new application can call solClient_session_send to send a Persistent or Non-Persistent message. A failure is returned if sending Guaranteed messages is not allowed on the Session (that is, if the Session is connected to an broker that does not support Guaranteed Messaging).
opaqueSession_p | The opaque Session returned when Session was created. |
solClient_dllExport solClient_returnCode_t solClient_session_topicSubscribe | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | topicSubscription_p | ||
) |
Adds a Topic subscription to a Session.
Messages matching the subscription are delivered to the Session's message receive callback. When Topic dispatching is in use, messages matching this subscription are only delivered to the Session callback if they are not delivered to a more specific callback.
opaqueSession_p | An opaque Session returned when the Session was created. |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
solClient_dllExport solClient_returnCode_t solClient_session_topicSubscribeExt | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p | ||
) |
Adds a Topic subscription to a Session.
This extended version of the subscribe function allows for more control of the operation through flags. Messages matching the subscription are delivered to the Session's message receive callback. When Topic dispatching is in use, messages matching this subscription are only delivered to the Session callback if they are not delivered to a more specific callback.
opaqueSession_p | The opaque Session returned when Session was created. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
solClient_dllExport solClient_returnCode_t solClient_session_topicSubscribeWithDispatch | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p, | ||
solClient_session_rxMsgDispatchFuncInfo_t * | funcInfo_p, | ||
void * | correlationTag | ||
) |
Adds a Topic subscription to a Session similar to solClient_session_topicSubscribeExt(), but this function also allows the application to specifiy a different message receive callback and different user_p.
The argument list includes a pointer to a struct solClient_session_rxMsgDispatchFuncInfo. Specifying a NULL pointer to this structure, or if struct solClient_session_rxMsgDispatchFuncInfo references a NULL callback_p and a NULL user_p makes this function act the same as solClient_session_topicSubscribeExt(). In other words, this is an alternate way to add a subscription for messages delivered on the session callback. When used in this manner, an application can set the correlationTag, which appears in asynchronouus confirmations (SOLCLIENT_SESSION_EVENT_SUBSCRIPTION_OK). Setting correlationTag is not available when using solClient_session_topicSubscribeExt().
Usually this API is used to provide a separate callback and user pointer for messages received on the given topic. The Session property SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH must be enabled for a non-NULL callback to be specified. When funcInfo_p is non-NULL and a callback_p is specified, the callback pointer and user_p are stored in an internal callback table. funcInfo_p is not saved by the API.
opaqueSession_p | The opaque Session returned when Session was created. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
funcInfo_p | The message receive callback information. See struct solClient_session_rxMsgDispatchFuncInfo |
correlationTag | A correlationTag pointer that is returned as is in the confirm or fail sessionEvent for the subscription. This is only used if SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM is set and SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM is not set. |
A successful call has a return code of SOLCLIENT_OK, except when using SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM without SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM. In that case, the return code will be SOLCLIENT_IN_PROGRESS because the call returns without waiting for the operation to complete.
solClient_dllExport solClient_returnCode_t solClient_session_topicUnsubscribe | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | topicSubscription_p | ||
) |
Removes a Topic subscription from a Session.
opaqueSession_p | The opaque Session returned when Session was created. |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
solClient_dllExport solClient_returnCode_t solClient_session_topicUnsubscribeExt | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p | ||
) |
Removes a Topic subscription from a Session.
This extended version of the Topic unsubscribe function allows for more control of the operation through flags.
opaqueSession_p | The opaque Session returned when Session was created. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
solClient_dllExport solClient_returnCode_t solClient_session_topicUnsubscribeWithDispatch | ( | solClient_opaqueSession_pt | opaqueSession_p, |
solClient_subscribeFlags_t | flags, | ||
const char * | topicSubscription_p, | ||
solClient_session_rxMsgDispatchFuncInfo_t * | funcInfo_p, | ||
void * | correlationTag | ||
) |
Removes a Topic subscription from a Session similar to solClient_session_topicUnsubscribeExt(), but this function also allows the application to specifiy a different message receive callback and different user_p.
The argument list includes a pointer to a struct solClient_session_rxMsgDispatchFuncInfo. Specifying a NULL pointer to this structure, or if struct solClient_session_rxMsgDispatchFuncInfo references a NULL callback_p and a NULL user_p makes this function act the same as solClient_session_topicUnsubscribeExt(). In other words, this is an alternate way to remove a subscription for messages delivered on the session callback. When used in this manner, an application can set the correlationTag, which appears in asynchronouus confirmations (SOLCLIENT_SESSION_EVENT_SUBSCRIPTION_OK). Setting correlationTag is not available when using solClient_session_topicUnsubscribeExt().
Usually this API is used to provide a separate callback and user pointer for messages received on the given topic. The Session property SOLCLIENT_SESSION_PROP_TOPIC_DISPATCH must be enabled for a non-NULL callback to be specified. When funcInfo_p is non-NULL and a callback_p is specified, the callback pointer and user_p are removed from an internal callback table. funcInfo_p does not have to match the funcInfo_p used in solClient_session_topicSubscribeWithDispatch(). However, the contents referenced in funcInfo_p must match an entry found in the callback table.
opaqueSession_p | The opaque Session returned when Session was created. |
flags | Flags to control the operation. Valid flags for this operation are: |
topicSubscription_p | The Topic subscription string (a NULL-terminated UTF-8 string). |
funcInfo_p | The message receive callback information. See struct solClient_session_rxMsgDispatchFuncInfo. |
correlationTag | A correlationTag pointer that is returned as is in the confirm or fail sessionEvent for the subscription. This is only used if SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM is set and SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM is not set. |
A successful call has a return code of SOLCLIENT_OK, except when using SOLCLIENT_SUBSCRIBE_FLAGS_REQUEST_CONFIRM without SOLCLIENT_SUBSCRIBE_FLAGS_WAITFORCONFIRM, then the return code is SOLCLIENT_IN_PROGRESS because the call returns without waiting for the operation to complete.
solClient_dllExport solClient_returnCode_t solClient_session_validateTopic | ( | solClient_opaqueSession_pt | opaqueSession_p, |
const char * | topicString_p | ||
) |
Check a Topic string against Topic encoding rules for the broker.
This routine is intended for use with solClient_session_sendMsg, and the Topic set in the opaque message pointer. This function should not be used with solClient_session_topicSubscribe. solClient_session_topicSubscribe does its own Topic validation, which includes accepting wildcards. For performance reasons, solClient_session_sendMsg does not validate topics, and this function is provided as a convenience to developers to ensure a Topic is valid before sending a message that could be rejected by the broker. It is expected then, that the same Topic be used for sending many messages.
opaqueSession_p | The opaque Session returned when Session was created. |
topicString_p | The Topic string (a NULL-terminated UTF-8 string). |
solClient_dllExport const char* solClient_subCodeToString | ( | solClient_subCode_t | subCode | ) |
Returns a string representation of the subcode passed in.
subCode | The subcode to convert to a string representation. |
solClient_dllExport solClient_returnCode_t solClient_transactedSession_commit | ( | solClient_opaqueTransactedSession_pt | transactedSession_p | ) |
Commit the active transaction of a specified Transacted Session.
transactedSession_p | Pointer to opaque Transacted Session pointer that was returned when the Transacted Session was created. |
solClient_dllExport solClient_returnCode_t solClient_transactedSession_createFlow | ( | solClient_propertyArray_pt | props, |
solClient_opaqueTransactedSession_pt | transactedSession_p, | ||
solClient_opaqueFlow_pt * | flow_p, | ||
solClient_flow_createFuncInfo_t * | funcInfo_p, | ||
size_t | funcInfoSize | ||
) |
Create a transacted consumer Flow within a specified Transacted Session.
If a Rx Message Callback is provided, messages received on the flow are dispatched to the callback with its usual user_p in a context of a Message Dispatcher thread. If there is no Rx Message Callback (i.e. funcInfo_p-> rxMsgInfo.callback_p=NULL), messages received on the Flow are queued internally. Applications must call solClient_flow_receiveMsg() directly to retrieve the queued messages.
Unlike non-transacted Flows, events and messages received on a transacted Flow are delivered in the context of two different threads. Events are still delivered in a context of the context thread, but messages are dispatched to the Flow Rx message callback with their usual user_p in the context of a Message Dispatcher thread or are retrieved by calling solClient_flow_receiveMsg() from the context of an application thread.
The following flow properties are not supported by transacted Flows:
props | An array of name/value string pair pointers to configure Flow properties. |
transactedSession_p | The Transacted Session in which the transacted Flow is to be created. |
flow_p | The returned opaque Flow pointer that refers to the created Flow. |
funcInfo_p | A pointer to a structure that provides information on callback functions for events and received messages. |
funcInfoSize | The size of the passed-in funcInfo structure (in bytes) to allow the structure to grow in the future. |
solClient_dllExport solClient_returnCode_t solClient_transactedSession_destroy | ( | solClient_opaqueTransactedSession_pt * | transactedSession_p | ) |
Destroys a previous created Transacted Session.
This operation must not be performed from a callback for associated with the Transacted Session being destroyed. This includes all Flows on the Transacted Session.
transactedSession_p | Pointer to opaque Transacted Session pointer that was returned when the Transacted Session was created. |
solClient_dllExport solClient_returnCode_t solClient_transactedSession_getSessionName | ( | solClient_opaqueTransactedSession_pt | transactedSession_p, |
char * | nameBuf_p, | ||
size_t | bufSize | ||
) |
Retrieve Transacted Session name.
transactedSession_p | Opaque Transacted Session pointer that was returned when the Transacted Session was created. |
nameBuf_p | A pointer to the buffer provided by the caller in which to place the NULL-terminated transacted session name string. The maximum transacted session name length is SOLCLIENT_TRANSACTEDSESSION_MAX_SESSION_NAME_LENGTH. |
bufSize | The size (in bytes) of the buffer provided by the caller. |
solClient_dllExport solClient_returnCode_t solClient_transactedSession_rollback | ( | solClient_opaqueTransactedSession_pt | transactedSession_p | ) |
Rollback the active transaction of a specified Transacted Session.
transactedSession_p | Pointer to opaque Transacted Session pointer that was returned when the Transacted Session was created. |
solClient_dllExport solClient_returnCode_t solClient_transactedSession_sendMsg | ( | solClient_opaqueTransactedSession_pt | transactedSession_p, |
solClient_opaqueMsg_pt | msg_p | ||
) |
Sends an Guaranteed Delivery message on the specified Transacted Session.
The message is composed of a number of optional components that are specified by the msg_p. The application should first allocate a solClient_msg, then use the methods defined in solClientMsg.h to build the message to send.
solClient_transactedSession_sendMsg() returns SOLCLIENT_OK when the message has been successfully copied to the transmit buffer or underlying transport. A successful commit acknowledges published messages delivered to the Solace messaging broker.
transactedSession_p | The opaque Transacted Session returned when the Transacted Session was created. |
msg_p | The opaque message created by solClient_msg_alloc. |
solClient_dllExport const char* solClient_txStatToString | ( | solClient_stats_tx_t | txStat | ) |
Returns a string representation of the transmit statistic name for the given statistic constant passed in.
txStat | transmit statistic constant (solClient_stats_tx_t). |
solClient_dllExport solClient_returnCode_t solClient_version_get | ( | solClient_version_info_pt * | version_p | ) |
Returns version information for the API.
The caller is given a pointer to an internal version structure of type solClient_version_info_t containing the version information.
version_p | A pointer to a structure to hold the version information. |