public IWampRegistrationSubscriptionToken Subscribe(IWampRawTopicRouterSubscriber subscriber, string topicUri, SubscribeOptions options) { options = options.WithDefaults(); MatchTopicContainer topicContainer = GetInnerContainer(options); return(topicContainer.Subscribe(subscriber, topicUri, options)); }
private MatchTopicContainer GetInnerContainer(SubscribeOptions options) { MatchTopicContainer topicContainer = mInnerContainers.FirstOrDefault(x => x.Handles(options)); if (topicContainer == null) { throw new WampException(WampErrors.InvalidTopic, "unknown match type: " + options.Match); } return(topicContainer); }
public IWampCustomizedSubscriptionId GetSubscriptionId(string topicUri, SubscribeOptions options) { MatchTopicContainer topicContainer = GetInnerContainer(options); return(topicContainer.GetSubscriptionId(topicUri, options)); }