private void OnSubscriptionAdded(IWampTopic topic, WampSubscriptionAddEventArgs e)
        {
            IRemoteWampTopicSubscriber subscriber = e.Subscriber;

            long sessionId      = subscriber.SessionId;
            long subscriptionId = topic.SubscriptionId;

            AddPeer(sessionId, subscriptionId,
                    () => GetSubscriptionDetails(topic,
                                                 sessionId,
                                                 subscriptionId,
                                                 e.Options));
        }
        public static bool IsEligible(this PublishOptions options, IRemoteWampTopicSubscriber subscriber)
        {
            long   sessionId = subscriber.SessionId;
            string authId    = subscriber.AuthenticationId;
            string authRole  = subscriber.AuthenticationRole;

            return((IsEligible(options.Eligible, sessionId, true) &&
                    IsEligible(options.EligibleAuthenticationIds, authId, true) &&
                    IsEligible(options.EligibleAuthenticationRoles, authRole, true)) &&
                   (IsEligible(options.Exclude, sessionId, false) &&
                    IsEligible(options.ExcludeAuthenticationIds, authId, false) &&
                    IsEligible(options.ExcludeAuthenticationRoles, authRole, false)));
        }
Exemplo n.º 3
0
 public void Publish(IRemoteWampTopicSubscriber subscriber)
 {
     Action(subscriber, Details);
 }
 public WampSubscriptionAddEventArgs(IRemoteWampTopicSubscriber subscriber, SubscribeOptions options)
 {
     mOptions    = options;
     mSubscriber = subscriber;
 }