public IWampRegistrationSubscriptionToken Subscribe(IWampRawTopicRouterSubscriber subscriber, string topicUri, SubscribeOptions options) { options = options.WithDefaults(); MatchTopicContainer topicContainer = GetInnerContainer(options); return(topicContainer.Subscribe(subscriber, topicUri, options)); }
public void Subscribe(IWampSubscriber subscriber, long requestId, SubscribeOptions options, string topicUri) { try { options = options.WithDefaults(); ValidateSubscribeUri(topicUri, options.Match); SubscribeRequest <TMessage> subscribeRequest = new SubscribeRequest <TMessage>(subscriber, requestId); mRawTopicContainer.Subscribe(subscribeRequest, options, topicUri); } catch (WampException ex) { mLogger.ErrorFormat(ex, "Failed subscribing to topic '{TopicUri}'. Subscription request id: {RequestId}", topicUri, requestId); subscriber.SubscribeError(requestId, ex); } }