public interface RoutingTopicDataSubscriptionHandler
RoutingTopicData
.
This handler will be responsible for mapping the parent Topic to other Topics
on a Client by Client basis. The handler may return the mapping synchronously
when called or may defer the mapping to a call of
RoutingTopicData.subscribe(TopicClient, Topic)
.
Any Topic mapped to must have UniversalTopicData
,
PublishingTopicData
or no data
attached.
Modifier and Type | Method and Description |
---|---|
Topic |
clientSubscriptionRequest(TopicClient client,
RoutingTopicData topicData)
This is called when a Client attempts to subscribe to the Routing Topic.
|
Topic clientSubscriptionRequest(TopicClient client, RoutingTopicData topicData) throws AuthorisationException
If this returns a Topic the Client will be subscribed to the specified Topic but from the Client point if view it will have been subscribed to the parent Topic. The Client will receive all messages published on the returned Topic as if they were from the parent Topic.
If this returns null then no Topic will be subscribed at this point in
time. This option allows the method to take the subscription request and
perform some asynchronous subscription request which can ultimately cause
a subscription to the real Topic using
RoutingTopicData.subscribe(TopicClient, Topic)
method.
In either of the above cases the Topic subscribed to may not be the parent Topic itself.
client
- the Client requesting subscriptiontopicData
- the TopicData that the subscription request is being
performed on behalf of.UniversalTopicData
,
PublishingTopicData
or no data
attached to it.AuthorisationException
- if the specified Client is not authorised
to be subscribed to the given topic.Copyright © 2016 Push Technology Ltd. All Rights Reserved.