Diffusion C API
5.9.24
|
Allow a client to register to receive notification of subscription/fetch requests for topics that do not exist. More...
Data Structures | |
struct | svc_missing_topic_request_s |
Structure of a request to register for missing topic notifications. More... | |
struct | svc_missing_topic_response_s |
Structure of a response to register for missing topic notifications. More... | |
struct | missing_topic_handlers_s |
struct | missing_topic_params_s |
Structure supplied when registering to receive missing topic notifications. More... | |
Macros | |
#define | MISSING_TOPIC_HANDLERS |
Callback handlers for missing topic notification messages. | |
Typedefs | |
typedef struct svc_missing_topic_request_s | SVC_MISSING_TOPIC_REQUEST_T |
Structure of a request to register for missing topic notifications. | |
typedef struct svc_missing_topic_response_s | SVC_MISSING_TOPIC_RESPONSE_T |
Structure of a response to register for missing topic notifications. | |
typedef int(* | on_missing_topic_cb )(SESSION_T *session, const SVC_MISSING_TOPIC_REQUEST_T *request, void *context) |
Callback for missing_topic_register_handler(). More... | |
typedef struct missing_topic_params_s | MISSING_TOPIC_PARAMS_T |
Structure supplied when registering to receive missing topic notifications. | |
Enumerations | |
enum | MISSING_TOPIC_ACTION_T { MISSING_TOPIC_CANCEL, MISSING_TOPIC_PROCEED } |
Specifies whether a missing topic notification should cause Diffusion to retry the original request (proceed) or not (cancel). More... | |
Functions | |
CONVERSATION_ID_T * | missing_topic_register_handler (SESSION_T *session, const MISSING_TOPIC_PARAMS_T params) |
Register to receive notifications about missing topics that clients attempt to fetch/subscribe. More... | |
void | missing_topic_deregister_handler (SESSION_T *session, const CONVERSATION_ID_T *conversation_id) |
Cease receiving missing topic notifications. More... | |
void | missing_topic_proceed (SESSION_T *session, SVC_MISSING_TOPIC_REQUEST_T *request) |
Proceed (retry) after a processing a missing topic notification. More... | |
void | missing_topic_cancel (SESSION_T *session, SVC_MISSING_TOPIC_REQUEST_T *request) |
Cancel the operation leading to this missing topic notification. More... | |
Allow a client to register to receive notification of subscription/fetch requests for topics that do not exist.
typedef int(* on_missing_topic_cb)(SESSION_T *session, const SVC_MISSING_TOPIC_REQUEST_T *request, void *context) |
Callback for missing_topic_register_handler().
session | The current active session. |
request | The incoming notification message. |
context | User-supplied context from the initial registration call. |
Specifies whether a missing topic notification should cause Diffusion to retry the original request (proceed) or not (cancel).
If the requested topic is missing, the handler can elect to create the topic and call missing_topic_proceed() to instruct Diffusion to retry the original operation.
Enumerator | |
---|---|
MISSING_TOPIC_CANCEL |
Cancel the original operation. |
MISSING_TOPIC_PROCEED |
Retry the original operations. |