/// <summary> /// Creates a new instance of <see cref="WampServerProxyHandler{TMessage}"/>. /// </summary> /// <param name="connection">The connection used to send and receieve <see cref="WampMessage{TMessage}"/>s.</param> /// <param name="incomingHandler">The handler used to handle incoming messages.</param> public WampServerProxyHandler(IWampConnection <TMessage> connection, IWampIncomingMessageHandler <TMessage> incomingHandler) { mConnection = connection; mIncomingHandler = incomingHandler; mConnection.MessageArrived += MessageArrived; }
/// <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 MessagePlayer(IEnumerable <WampMessage <TMessage> > messages, WampMessageType[] categories, IWampIncomingMessageHandler <TMessage, IWampClientProxy <TMessage> > handler) { mMessages = messages; mCategories = categories; mServerPipe = handler; }
/// <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>())))); }
private Mock <IWampServer <JToken> > CallHandleOnMock(IWampClient client, string message) { Mock <IWampServer <JToken> > mock = new Mock <IWampServer <JToken> >(); JToken raw = JToken.Parse(message); IWampIncomingMessageHandler <JToken, IWampClient> handler = GetHandler(mock.Object); handler.HandleMessage(client, mMessageFormatter.Parse(raw)); return(mock); }
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 static MockClient <IWampClientProxy <MockRaw> > GetSubscriber(Type scenario, WampMockClientBuilder <MockRaw> clientBuilder, IWampIncomingMessageHandler <MockRaw, IWampClientProxy <MockRaw> > handler, IEnumerable <WampMessage <MockRaw> > calls) { WampMessage <MockRaw> welcome = GetCalls(scenario, Channel.BrokerToSubscriber, new WampMessageType[] { WampMessageType.v2Welcome }) .FirstOrDefault(); // TODO: After enough events unsubscribe. NullPlayer <MockRaw> nullPlayer = new NullPlayer <MockRaw>(); IMessageRecorder <MockRaw> recorder = new ResponsiveMessageRecorder(calls, new Dictionary <WampMessageType, string>() { { WampMessageType.v2Subscribed, "subscriptionId" } }); IWampClientProxy <MockRaw> built = clientBuilder.Create(nullPlayer, recorder, welcome); MockClient <IWampClientProxy <MockRaw> > result = new MockClient <IWampClientProxy <MockRaw> >(built, recorder); return(result); }
private MockClient <IWampClientProxy <MockRaw> > GetCallee(Type scenario, WampMockClientBuilder <MockRaw> clientBuilder, IWampIncomingMessageHandler <MockRaw, IWampClientProxy <MockRaw> > handler) { WampMessage <MockRaw> welcome = GetCalls(scenario, Channel.DealerToCallee, new WampMessageType[] { WampMessageType.v2Welcome }) .FirstOrDefault(); IEnumerable <WampMessage <MockRaw> > calls = GetCalls(scenario, Channel.CalleeToDealer, MessageTypes.Rpc).Concat (GetCalls(scenario, Channel.DealerToCallee, MessageTypes.Rpc)).ToList(); CalleeMessagePlayer player = new CalleeMessagePlayer(calls, new[] { WampMessageType.v2Invocation }, handler); IMessageRecorder <MockRaw> recorder = new ResponsiveMessageRecorder(calls, new Dictionary <WampMessageType, string>() { { WampMessageType.v2Registered, "registrationId" } }); IWampClientProxy <MockRaw> built = clientBuilder.Create(player, recorder, welcome); player.Client = built; MockClient <IWampClientProxy <MockRaw> > result = new MockClient <IWampClientProxy <MockRaw> >(built, recorder); return(result); }
public IWampOutgoingMessageHandler Build(TRawClient client, IWampConnection <TMessage> connection) { IWampIncomingMessageHandler <TMessage> incomingMessageHandler = mIncomingHandlerBuilder.Build(client, connection); return(new WampServerProxyHandler <TMessage>(connection, incomingMessageHandler)); }
/// <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) { }
public CalleeMessagePlayer(IEnumerable <WampMessage <MockRaw> > messages, WampMessageType[] categories, IWampIncomingMessageHandler <MockRaw, IWampClientProxy <MockRaw> > handler) : base(messages, categories, handler) { }