Diffusion C API  5.9.24
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
svc-session-wills.h File Reference

Functions relating to topic lifecycle; what should Diffusion do with topics created in by this control client session when that session terminates? More...

Data Structures

struct  svc_session_wills_request_s
 Structure defining a request to register a session will for a topic. More...
 
struct  svc_session_wills_response_s
 Structure representing a session will registration response. More...
 
struct  session_wills_remove_topic_handlers_s
 
struct  session_wills_remove_topic_params_s
 Structure supplied when registering a topic will to remove topics. More...
 

Macros

#define SESSION_WILLS_REMOVE_TOPIC_HANDLERS
 User callbacks that may be defined when registering a session will pertaining to topic removal.
 

Typedefs

typedef struct
svc_session_wills_request_s 
SVC_SESSION_WILLS_REQUEST_T
 Structure defining a request to register a session will for a topic.
 
typedef struct
svc_session_wills_response_s 
SVC_SESSION_WILLS_RESPONSE_T
 Structure representing a session will registration response.
 
typedef int(* on_session_will_registration_cb )(SESSION_T *session, const char *topic_path, void *context)
 callback for session_wills_remove_topics(). More...
 
typedef struct
session_wills_remove_topic_params_s 
SESSION_WILLS_REMOVE_TOPIC_PARAMS_T
 Structure supplied when registering a topic will to remove topics.
 

Enumerations

enum  SESSION_WILL_T { SESSION_WILL_REMOVE_TOPICS }
 Action to perform on session disconnection. More...
 
enum  SVC_SESSION_WILLS_RESULT_T { SESSION_WILL_SUCCESS, SESSION_WILL_GROUP_CONFLICT_WITH_EXISTING_REGISTRATION, SESSION_WILL_TOPIC_TREE_CONFLICT_WITH_EXISTING_REGISTRATION }
 Result of the request to register a topic will. More...
 

Functions

void session_wills_remove_topics (SESSION_T *session, const SESSION_WILLS_REMOVE_TOPIC_PARAMS_T params)
 Register a topic removal session will. More...
 

Detailed Description

Functions relating to topic lifecycle; what should Diffusion do with topics created in by this control client session when that session terminates?

Typedef Documentation

typedef int(* on_session_will_registration_cb)(SESSION_T *session, const char *topic_path, void *context)

callback for session_wills_remove_topics().

Parameters
sessionThe current active session.
topic_pathThe path on which the will has been registered.
contextUser-supplied context from the initial session_wills_remove_topics() call.
Returns
HANDLER_SUCCESS or HANDLER_FAILURE.

Enumeration Type Documentation

Action to perform on session disconnection.

Enumerator
SESSION_WILL_REMOVE_TOPICS 

Remove the branch of the topic tree.

Result of the request to register a topic will.

Enumerator
SESSION_WILL_SUCCESS 

Registration succeeded.

SESSION_WILL_GROUP_CONFLICT_WITH_EXISTING_REGISTRATION 

Registration failed due to an existing will registered elsewhere in the topic tree.

SESSION_WILL_TOPIC_TREE_CONFLICT_WITH_EXISTING_REGISTRATION 

Registration failed due to an existing will registered elsewhere in the topic tree.