CommsChampion Ecosystem MQTT-SN Client
MQTT-SN client library.
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
"Publish Operation Data Types and Functions"

Classes

struct  CC_MqttsnPublishConfig
 Configuration the will for "publish" operations. More...
 
struct  CC_MqttsnPublishInfo
 Information on the "publish" operation completion. More...
 

Typedefs

typedef void(* CC_MqttsnPublishCompleteCb) (void *data, CC_MqttsnPublishHandle handle, CC_MqttsnAsyncOpStatus status, const CC_MqttsnPublishInfo *info)
 Callback used to report completion of the publish operation.
 
typedef struct CC_MqttsnPublish * CC_MqttsnPublishHandle
 Handle for "publish" operation.
 

Functions

CC_MqttsnErrorCode cc_mqttsn_client_publish (CC_MqttsnClientHandle client, const CC_MqttsnPublishConfig *config, CC_MqttsnPublishCompleteCb cb, void *cbData)
 Prepare and send "publish" request in one go.
 
CC_MqttsnErrorCode cc_mqttsn_client_publish_cancel (CC_MqttsnPublishHandle handle)
 Cancel the allocated "publish" operation.
 
CC_MqttsnErrorCode cc_mqttsn_client_publish_config (CC_MqttsnPublishHandle handle, const CC_MqttsnPublishConfig *config)
 Perform configuration of the "publish" operation.
 
unsigned cc_mqttsn_client_publish_get_retry_count (CC_MqttsnPublishHandle handle)
 Retrieve the configured retry count for the "publish" operation.
 
unsigned cc_mqttsn_client_publish_get_retry_period (CC_MqttsnPublishHandle handle)
 Retrieve the configured retry period for the "publish" operation.
 
void cc_mqttsn_client_publish_init_config (CC_MqttsnPublishConfig *config)
 Intialize the CC_MqttsnPublishConfig configuration structure.
 
CC_MqttsnPublishHandle cc_mqttsn_client_publish_prepare (CC_MqttsnClientHandle client, CC_MqttsnErrorCode *ec)
 Prepare "publish" operation.
 
CC_MqttsnErrorCode cc_mqttsn_client_publish_send (CC_MqttsnPublishHandle handle, CC_MqttsnPublishCompleteCb cb, void *cbData)
 Send the "publish" operation.
 
CC_MqttsnErrorCode cc_mqttsn_client_publish_set_retry_count (CC_MqttsnPublishHandle handle, unsigned count)
 Configure the retry count for the "publish" operation.
 
CC_MqttsnErrorCode cc_mqttsn_client_publish_set_retry_period (CC_MqttsnPublishHandle handle, unsigned ms)
 Configure the retry period for the "publish" operation.
 

Detailed Description

Typedef Documentation

◆ CC_MqttsnPublishCompleteCb

typedef void(* CC_MqttsnPublishCompleteCb) (void *data, CC_MqttsnPublishHandle handle, CC_MqttsnAsyncOpStatus status, const CC_MqttsnPublishInfo *info)

Callback used to report completion of the publish operation.

Parameters
[in]dataPointer to user data object, passed as the last parameter to the request call.
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function. When the callback is invoked the handle is already invalid and cannot be used in any relevant function invocation, but it allows end application to identify the original "publish" operation and use the same callback function in parallel requests.
[in]statusStatus of the "publish" operation.
[in]infoInformation about op completion. Not-NULL is reported only if the "status" is equal to CC_MqttsnAsyncOpStatus_Complete. When QoS2 publish is successfully performed the "info" can still be NULL.
Postcondition
The data members of the reported response can NOT be accessed after the function returns.

◆ CC_MqttsnPublishHandle

typedef struct CC_MqttsnPublish* CC_MqttsnPublishHandle

Handle for "publish" operation.

Returned by cc_mqttsn_client_publish_prepare() function.

Function Documentation

◆ cc_mqttsn_client_publish()

CC_MqttsnErrorCode cc_mqttsn_client_publish ( CC_MqttsnClientHandle  client,
const CC_MqttsnPublishConfig config,
CC_MqttsnPublishCompleteCb  cb,
void *  cbData 
)

Prepare and send "publish" request in one go.

Abstracts away sequence of the following functions invocation:

Parameters
[in]clientHandle returned by cc_mqttsn_client_alloc() function.
[in]configSubscription configuration.
[in]cbCallback to be invoked when "publish" operation is complete.
[in]cbDataPointer to any user data structure. It will passed as one of the parameters in callback invocation. May be NULL.
Returns
Result code of the call.

◆ cc_mqttsn_client_publish_cancel()

CC_MqttsnErrorCode cc_mqttsn_client_publish_cancel ( CC_MqttsnPublishHandle  handle)

Cancel the allocated "publish" operation.

In case the cc_mqttsn_client_publish_send() function was successfully called before, the operation is cancelled without callback invocation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
Returns
Result code of the call.
Postcondition
The handle of the "publish" operation is no longer valid and must be discarded.

◆ cc_mqttsn_client_publish_config()

CC_MqttsnErrorCode cc_mqttsn_client_publish_config ( CC_MqttsnPublishHandle  handle,
const CC_MqttsnPublishConfig config 
)

Perform configuration of the "publish" operation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
[in]configConfiguration structure. Must NOT be NULL. Does not need to be preserved after invocation.
Returns
Result code of the call.

◆ cc_mqttsn_client_publish_get_retry_count()

unsigned cc_mqttsn_client_publish_get_retry_count ( CC_MqttsnPublishHandle  handle)

Retrieve the configured retry count for the "publish" operation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
Returns
Number of retries.

◆ cc_mqttsn_client_publish_get_retry_period()

unsigned cc_mqttsn_client_publish_get_retry_period ( CC_MqttsnPublishHandle  handle)

Retrieve the configured retry period for the "publish" operation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
Returns
Retry period duration in milliseconds.

◆ cc_mqttsn_client_publish_init_config()

void cc_mqttsn_client_publish_init_config ( CC_MqttsnPublishConfig config)

Intialize the CC_MqttsnPublishConfig configuration structure.

Parameters
[out]configConfiguration structure. Must not be NULL.

◆ cc_mqttsn_client_publish_prepare()

CC_MqttsnPublishHandle cc_mqttsn_client_publish_prepare ( CC_MqttsnClientHandle  client,
CC_MqttsnErrorCode ec 
)

Prepare "publish" operation.

Parameters
[in]clientHandle returned by cc_mqttsn_client_alloc() function.
[out]ecError code reporting result of the operation. Can be NULL.
Returns
Handle of the "publish" operation, will be NULL in case of failure. To analyze the reason failure use "ec" output parameter.
Postcondition
The "publish" operation is allocated, use either cc_mqttsn_client_publish_send() or cc_mqttsn_client_publish_cancel() to prevent memory leaks.

◆ cc_mqttsn_client_publish_send()

CC_MqttsnErrorCode cc_mqttsn_client_publish_send ( CC_MqttsnPublishHandle  handle,
CC_MqttsnPublishCompleteCb  cb,
void *  cbData 
)

Send the "publish" operation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
[in]cbCallback to be invoked when "publish" operation is complete.
[in]cbDataPointer to any user data structure. It will passed as one of the parameters in callback invocation. May be NULL.
Returns
Result code of the call.
Postcondition
The handle of the "publish" operation can be discarded.
The provided callback will be invoked when the "publish" operation is complete if and only if the function returns CC_MqttsnErrorCode_Success.

◆ cc_mqttsn_client_publish_set_retry_count()

CC_MqttsnErrorCode cc_mqttsn_client_publish_set_retry_count ( CC_MqttsnPublishHandle  handle,
unsigned  count 
)

Configure the retry count for the "publish" operation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
[in]countNumber of retries.
Returns
Result code of the call.

◆ cc_mqttsn_client_publish_set_retry_period()

CC_MqttsnErrorCode cc_mqttsn_client_publish_set_retry_period ( CC_MqttsnPublishHandle  handle,
unsigned  ms 
)

Configure the retry period for the "publish" operation.

Parameters
[in]handleHandle returned by cc_mqttsn_client_publish_prepare() function.
[in]msRetry period in milliseconds.
Returns
Result code of the call.