private WampListener <TMessage> GetWampListener(IWampConnectionListener <TMessage> connectionListener, IWampBinding <TMessage> binding, IWampOutgoingRequestSerializer outgoingRequestSerializer) { IWampClientBuilderFactory <TMessage, IWampClientProxy <TMessage> > clientBuilderFactory = GetWampClientBuilder(binding, outgoingRequestSerializer); IWampClientContainer <TMessage, IWampClientProxy <TMessage> > clientContainer = new WampClientContainer <TMessage>(clientBuilderFactory); IWampRequestMapper <TMessage> requestMapper = new WampRequestMapper <TMessage>(typeof(WampServer <TMessage>), binding.Formatter); WampRealmMethodBuilder <TMessage> methodBuilder = new WampRealmMethodBuilder <TMessage>(mSession, binding.Formatter); IWampIncomingMessageHandler <TMessage, IWampClientProxy <TMessage> > wampIncomingMessageHandler = new WampIncomingMessageHandler <TMessage, IWampClientProxy <TMessage> > (requestMapper, methodBuilder); return(new WampListener <TMessage> (connectionListener, wampIncomingMessageHandler, clientContainer, mSession)); }
public WampCraHost(IWampCraServerBuilder <TMessage> serverBuilder, IWampConnectionListener <TMessage> connectionListener, IWampFormatter <TMessage> formatter) : base(serverBuilder, connectionListener, formatter) { serverBuilder.InitializeAuthenticationBuilder(formatter, base.MetadataCatalog, base.TopicContainerExtended); }
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); } }
private static WampListener <TMessage> GetWampListener(IWampConnectionListener <TMessage> connectionListener, IWampFormatter <TMessage> formatter, IWampServer <TMessage> server) { IWampClientBuilderFactory <TMessage, IWampClient> clientBuilderFactory = GetWampClientBuilder(formatter); IWampClientContainer <TMessage, IWampClient> clientContainer = new WampClientContainer <TMessage>(clientBuilderFactory); IWampRequestMapper <TMessage> requestMapper = new WampRequestMapper <TMessage>(server.GetType(), formatter); WampMethodBuilder <TMessage, IWampClient> methodBuilder = new WampMethodBuilder <TMessage, IWampClient>(server, formatter); IWampIncomingMessageHandler <TMessage, IWampClient> wampIncomingMessageHandler = new WampIncomingMessageHandler <TMessage, IWampClient> (requestMapper, methodBuilder); return(new WampListener <TMessage> (connectionListener, wampIncomingMessageHandler, clientContainer)); }
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); } }
/// <summary> /// Creates a new instance of <see cref="WampListener{TMessage}"/> /// </summary> /// <param name="listener">The <see cref="IWampConnectionListener{TMessage}"/> used in order to /// accept incoming connections.</param> /// <param name="handler">The <see cref="IWampIncomingMessageHandler{TMessage}"/> used /// in order to dispatch incoming messages.</param> /// <param name="clientContainer">The <see cref="IWampClientContainer{TMessage,TClient}"/> use /// in order to store the connected clients.</param> /// <param name="sessionHandler">A session handler that handles new clients.</param> public WampListener(IWampConnectionListener <TMessage> listener, IWampIncomingMessageHandler <TMessage, IWampClientProxy <TMessage> > handler, IWampClientContainer <TMessage, IWampClientProxy <TMessage> > clientContainer, IWampSessionServer <TMessage> sessionHandler) : base(listener, handler, clientContainer) { mSessionHandler = sessionHandler; }
public IWampBindingHost CreateHost(IWampHostedRealmContainer realmContainer, IWampConnectionListener <TMessage> connectionListener) { IWampRouterBuilder wampRouterBuilder = new WampAuthenticationRouterBuilder(mSessionAuthenticationFactory, mUriValidator); return(new WampBindingHost <TMessage>(realmContainer, wampRouterBuilder, connectionListener, mBinding)); }
/// <summary> /// Creates a new instance of <see cref="WampListener{TMessage, TClient}"/> /// </summary> /// <param name="listener">The <see cref="IWampConnectionListener{TMessage}"/> used in order to /// accept incoming connections.</param> /// <param name="handler">The <see cref="IWampIncomingMessageHandler{TMessage,TClient}"/> used /// in order to dispatch incoming messages.</param> /// <param name="clientContainer">The <see cref="IWampClientContainer{TMessage,TClient}"/> use /// in order to store the connected clients.</param> public WampListener(IWampConnectionListener <TMessage> listener, IWampIncomingMessageHandler <TMessage, TClient> handler, IWampClientContainer <TMessage, TClient> clientContainer) { mHandler = handler; mClientContainer = clientContainer; mListener = listener; mLogger = LogProvider.GetLogger(this.GetType()); }
private WampListener <JToken> GetListener(IWampConnectionListener <JToken> listener, object wampServer) { IWampIncomingMessageHandler <JToken, IWampClient> handler = GetHandler(wampServer); return(new WampListener <JToken> (listener, handler, new WampClientContainer <JToken> (new WampClientBuilderFactory <JToken> (new WampOutgoingRequestSerializer <JToken>(mFormatter), new WampOutgoingMessageHandlerBuilder <JToken>())))); }
public WampHost(IWampServerBuilder <TMessage> serverBuilder, IWampConnectionListener <TMessage> connectionListener, IWampFormatter <TMessage> formatter) { mFormatter = formatter; mMetadataCatalog = new WampRpcMetadataCatalog(); mTopicContainer = new WampTopicContainer <TMessage>(); mServer = serverBuilder.Build(formatter, mMetadataCatalog, mTopicContainer); mListener = GetWampListener(connectionListener, formatter, mServer); }
private IWampBindingHost GetBindingHost <TMessage> (IWampBinding <TMessage> binding, IEnumerable <IWampTransport> transports) { List <IWampConnectionListener <TMessage> > listeners = new List <IWampConnectionListener <TMessage> >(); foreach (IWampTransport transport in transports) { IWampConnectionListener <TMessage> listener = transport.GetListener(binding); listeners.Add(listener); } IWampConnectionListener <TMessage> compositeListener = new CompositeListener <TMessage>(listeners); IWampBindingHost host = binding.CreateHost(RealmContainer, compositeListener, mUriValidator, mSessionIdMap); return(host); }
private WampListener <JToken> GetListener(IWampConnectionListener <JToken> listener, IWampClient wampClient) { Mock <IWampServer <JToken> > mock = new Mock <IWampServer <JToken> >(); Mock <IWampClientBuilder <JToken, IWampClient> > clientBuilderMock = new Mock <IWampClientBuilder <JToken, IWampClient> >(); clientBuilderMock.Setup (x => x.Create(It.IsAny <IWampConnection <JToken> >())) .Returns(wampClient); IWampIncomingMessageHandler <JToken, IWampClient> handler = GetHandler(mock.Object); Mock <IWampClientBuilderFactory <JToken, IWampClient> > factory = new Mock <IWampClientBuilderFactory <JToken, IWampClient> >(); factory.Setup(x => x.GetClientBuilder(It.IsAny <IWampClientContainer <JToken, IWampClient> >())) .Returns(clientBuilderMock.Object); return(new WampListener <JToken> (listener, handler, new WampClientContainer <JToken>(factory.Object))); }
private WampListener<JToken> GetListener(IWampConnectionListener<JToken> listener, IWampClient wampClient) { Mock<IWampServer<JToken>> mock = new Mock<IWampServer<JToken>>(); Mock<IWampClientBuilder<JToken, IWampClient>> clientBuilderMock = new Mock<IWampClientBuilder<JToken, IWampClient>>(); clientBuilderMock.Setup (x => x.Create(It.IsAny<IWampConnection<JToken>>())) .Returns(wampClient); IWampIncomingMessageHandler<JToken, IWampClient> handler = GetHandler(mock.Object); Mock<IWampClientBuilderFactory<JToken, IWampClient>> factory = new Mock<IWampClientBuilderFactory<JToken, IWampClient>>(); factory.Setup(x => x.GetClientBuilder(It.IsAny<IWampClientContainer<JToken, IWampClient>>())) .Returns(clientBuilderMock.Object); return new WampListener<JToken> (listener, handler, new WampClientContainer<JToken, IWampClient>(factory.Object)); }
private WampListener<JToken> GetListener(IWampConnectionListener<JToken> listener, object wampServer) { IWampIncomingMessageHandler<JToken, IWampClient> handler = GetHandler(wampServer); return new WampListener<JToken> (listener, handler, new WampClientContainer<JToken, IWampClient> (new WampClientBuilderFactory<JToken> (new WampSessionIdGenerator(), new WampOutgoingRequestSerializer<JToken>(mFormatter), new WampOutgoingMessageHandlerBuilder<JToken>()))); }
/// <summary> /// Creates a new instance of <see cref="WampListener{TMessage}"/> /// </summary> /// <param name="listener">The <see cref="IWampConnectionListener{TMessage}"/> used in order to /// accept incoming connections.</param> /// <param name="handler">The <see cref="IWampIncomingMessageHandler{TMessage,TClient}"/> used /// in order to dispatch incoming messages.</param> /// <param name="clientContainer">The <see cref="IWampClientContainer{TMessage,TClient}"/> use /// in order to store the connected clients.</param> public WampListener(IWampConnectionListener <TMessage> listener, IWampIncomingMessageHandler <TMessage, IWampClient> handler, IWampClientContainer <TMessage, IWampClient> clientContainer) : base(listener, handler, clientContainer) { }
/// <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); }
public WampCraHost(IWampConnectionListener <TMessage> connectionListener, IWampFormatter <TMessage> formatter, WampCraAuthenticaticatorBuilder <TMessage> craAuthenticaticatorBuilder) : this(new WampCraServerBuilder <TMessage>(craAuthenticaticatorBuilder), connectionListener, formatter) { }
public WampHost(IWampConnectionListener <TMessage> connectionListener, IWampFormatter <TMessage> formatter) : this(new WampServerBuilder <TMessage>(), connectionListener, formatter) { }