public static IWampBindingHost CreateHost <TMessage>
            (this IWampBinding <TMessage> binding,
            IWampHostedRealmContainer realmContainer,
            IWampConnectionListener <TMessage> connectionListener,
            IWampUriValidator uriValidator,
            IWampSessionMapper sessionIdMap)
        {
            if (binding is IWampRouterBinding <TMessage> routerBinding)
            {
                return(routerBinding.CreateHost(realmContainer, connectionListener, sessionIdMap));
            }
            else
            {
                IWampRouterBuilder routerBuilder = new WampRouterBuilder(uriValidator);

                WampBindingHost <TMessage> result =
                    new WampBindingHost <TMessage>(realmContainer,
                                                   routerBuilder,
                                                   connectionListener,
                                                   binding,
                                                   sessionIdMap);

                return(result);
            }
        }
        public static IWampBindingHost CreateHost <TMessage>
            (this IWampBinding <TMessage> binding,
            IWampHostedRealmContainer realmContainer,
            IWampConnectionListener <TMessage> connectionListener,
            IWampUriValidator uriValidator)
        {
            IWampRouterBinding <TMessage> routerBinding = binding as IWampRouterBinding <TMessage>;

            if (routerBinding != null)
            {
                return(routerBinding.CreateHost(realmContainer, connectionListener));
            }
            else
            {
                IWampRouterBuilder routerBuilder = new WampRouterBuilder(uriValidator);

                WampBindingHost <TMessage> result =
                    new WampBindingHost <TMessage>(realmContainer,
                                                   routerBuilder,
                                                   connectionListener,
                                                   binding);

                return(result);
            }
        }
        public IWampBindingHost CreateHost(IWampHostedRealmContainer realmContainer, IWampConnectionListener <TMessage> connectionListener)
        {
            IWampRouterBuilder wampRouterBuilder = new WampAuthenticationRouterBuilder(mSessionAuthenticationFactory, mUriValidator);

            return(new WampBindingHost <TMessage>(realmContainer,
                                                  wampRouterBuilder,
                                                  connectionListener,
                                                  mBinding));
        }
 public WampAuthenticationSessionServer(IWampBinding <TMessage> binding,
                                        IWampHostedRealmContainer realmContainer,
                                        IWampRouterBuilder builder,
                                        IWampEventSerializer eventSerializer,
                                        IWampSessionAuthenticatorFactory sessionAuthenticatorFactory)
     : base(binding, realmContainer, builder, eventSerializer)
 {
     mSessionAuthenticatorFactory = sessionAuthenticatorFactory;
 }
Example #5
0
 public override IWampSessionServer <TMessage> CreateSessionHandler <TMessage>
     (IWampHostedRealmContainer realmContainer,
     IWampBinding <TMessage> binding,
     IWampEventSerializer eventSerializer)
 {
     return(new WampAuthenticationSessionServer <TMessage>
                (binding,
                realmContainer,
                this,
                eventSerializer,
                mSessionAuthenticationFactory));
 }
Example #6
0
 public WampSessionServer(IWampBinding <TMessage> binding,
                          IWampHostedRealmContainer realmContainer,
                          IWampRouterBuilder builder,
                          IWampEventSerializer eventSerializer)
 {
     RealmContainer =
         new WampBindedRealmContainer <TMessage>(realmContainer,
                                                 this,
                                                 builder,
                                                 eventSerializer,
                                                 binding);
 }
 public WampBindedRealmContainer(IWampHostedRealmContainer realmContainer,
                                 IWampSessionServer <TMessage> session,
                                 IWampRouterBuilder routerBuilder,
                                 IWampEventSerializer eventSerializer,
                                 IWampBinding <TMessage> binding)
 {
     mSession         = session;
     mRouterBuilder   = routerBuilder;
     mEventSerializer = eventSerializer;
     mBinding         = binding;
     mRealmContainer  = realmContainer;
 }
        /// <summary>
        /// Creates a new instance of <see cref="WampBindingHost{TMessage}"/>
        /// </summary>
        /// <param name="realmContainer">The <see cref="IWampRealmContainer"/> this binding host
        /// is associated with.</param>
        /// <param name="connectionListener">The <see cref="IWampConnectionListener{TMessage}"/> this
        /// binding host listens to.</param>
        /// <param name="binding">The <see cref="IWampBinding{TMessage}"/> associated with this binding host.</param>
        public WampBindingHost(IWampHostedRealmContainer realmContainer, IWampRouterBuilder builder, IWampConnectionListener <TMessage> connectionListener, IWampBinding <TMessage> binding)
        {
            IWampOutgoingRequestSerializer outgoingRequestSerializer =
                new WampOutgoingRequestSerializer <TMessage>(binding.Formatter);

            IWampEventSerializer eventSerializer = GetEventSerializer(outgoingRequestSerializer);

            IWampSessionServer <TMessage> session =
                builder.CreateSessionHandler(realmContainer, binding, eventSerializer);

            mSession = session;

            mListener = GetWampListener(connectionListener, binding, outgoingRequestSerializer);
        }
Example #9
0
 /// <summary>
 /// Initializes a new instance of <see cref="WampHostBase"/> given the
 /// <see cref="IWampRealmContainer"/> associated with this host.
 /// </summary>
 /// <param name="realmContainer"></param>
 /// <param name="uriValidator"></param>
 public WampHostBase(IWampRealmContainer realmContainer, IWampUriValidator uriValidator)
 {
     mUriValidator   = uriValidator;
     mRealmContainer = new HostedRealmContainer(realmContainer);
 }
Example #10
0
 public ServiceHostedRealmContainer(IWampHostedRealmContainer realmContainer,
                                    InMemoryWampHost internalHost)
 {
     mRealmContainer = realmContainer;
     mInternalHost   = internalHost;
 }
Example #11
0
 public virtual IWampSessionServer <TMessage> CreateSessionHandler <TMessage>(IWampHostedRealmContainer realmContainer, IWampBinding <TMessage> binding, IWampEventSerializer eventSerializer)
 {
     return(new WampSessionServer <TMessage>(binding, realmContainer, this, eventSerializer));
 }