Using clients for control
Clients can perform control actions that affect the Diffusion™ server, other clients, or the data distributed by Diffusion.
Supported in: JavaScript® Unified API,Apple® Unified API, Java™ Unified API, .NET Unified API, Android™ Unified API, C Unified API
When designing your Diffusion solution, decide whether you want to use clients to perform the following actions:
Create and delete topics

Clients can create any type of topic on the Diffusion server. These topics can be created explicitly or dynamically in response to a subscription request from another client.
These topics have the lifespan of the Diffusion server unless the client specifies that the topic be removed when the client session closes.
Clients can also delete topics from the Diffusion server.
You can also use publishers to create and delete topics.
For more information, see .
Publish updates to topics

Clients can publish updates to topics that are pushed out to clients subscribed to that topic. These updates can be made exclusively, so that only one client can update a given topic, or non-exclusively, allowing any client to update a given topic.
You can also use publishers to publish updates to topics.
For more information, see Updating topics.
Subscribe other clients to topics

Clients can subscribe other client sessions to topics and also unsubscribe other client session from topics.
For more information, see Managing subscriptions.
Authenticate other clients

Clients can provide authentication decisions about whether to allow or deny other client sessions connecting to the Diffusion server. These clients can also assign roles to the connecting client sessions that define the permissions the connecting client has.
You can also use the system authentication handler or an authentication handler located on the Diffusion server to authenticate other clients.
For more information, see User-written authentication handlers.
Modify the security information stored on the Diffusion server

Clients can modify the information stored in the security store on the Diffusion server. The security store can be used to specify which permissions are assigned to roles and which roles are assigned to anonymous sessions, and named-principal sessions.
You can also use publishers to modify security information stored on the Diffusion server.
For more information, see Updating the security store.
Modify the authentication information stored on the Diffusion server

Clients can modify the information stored in the system authentication store on the Diffusion server. The system authentication store can be used to specify which principals a client session can use to connect and what roles are assigned to an authenticated client session.
You can also use publishers to modify authentication information stored on the Diffusion server.
For more information, see Updating the system authentication store.
Manage the flow of data to clients

Updates are pushed to subscribing clients through client queues. Clients can receive notifications when client queues reach a certain threshold. These clients can manage the client queues by turning on throttling or conflation for the queue.
For more information, see Managing clients.
To handle messages sent to topic paths by clients and send messages to specific clients

Clients can send messages through topic paths to specific clients. Clients can also register to handle messages that are sent to a topic path. Messages sent using topic paths do not update the topic.
You can also use publishers to handle messages on topic paths and send messages to clients.
For more information, see Messaging to clients.