コード例 #1
0
        private WampAuxiliaryClientFactory <TMessage> GetConnectionMonitorFactory()
        {
            WampServerProxyBuilder <TMessage, IWampAuxiliaryClient, IWampServer> proxyBuilder =
                GetServerProxyBuilder <IWampAuxiliaryClient>();

            return(new WampAuxiliaryClientFactory <TMessage>(proxyBuilder));
        }
コード例 #2
0
 public WampChannel(IControlledWampConnection <TMessage> connection,
                    IWampRpcClientFactory <TMessage> rpcClientFactory,
                    IWampPubSubClientFactory <TMessage> pubSubClientFactory,
                    WampServerProxyBuilder <TMessage, IWampClient <TMessage>, IWampServer> serverProxyBuilder,
                    IWampAuxiliaryClientFactory <TMessage> connectionMonitorFactory)
 {
     mConnection          = connection;
     mRpcClientFactory    = rpcClientFactory;
     mPubSubClientFactory = pubSubClientFactory;
     mServerProxyBuilder  = serverProxyBuilder;
     mConnectionMonitor   = connectionMonitorFactory.CreateMonitor(connection);
 }
コード例 #3
0
        public WampChannelBuilder(IWampBinding <TMessage> binding)
        {
            mBinding = binding;

            IWampFormatter <TMessage> formatter = mBinding.Formatter;

            mFactory =
                new WampServerProxyBuilder <TMessage, IWampClient <TMessage>, IWampServerProxy>(
                    new WampOutgoingRequestSerializer <TMessage>(formatter),
                    new WampServerProxyOutgoingMessageHandlerBuilder <TMessage, IWampClient <TMessage> >
                        (new WampServerProxyIncomingMessageHandlerBuilder <TMessage, IWampClient <TMessage> >(formatter)));
        }
コード例 #4
0
        private IWampServer GetClient(IWampConnection <JToken> connection, IWampClient <JToken> wampClient)
        {
            var serverProxyBuilder = new WampServerProxyBuilder <JToken, IWampClient <JToken>, IWampServer>
                                         (new WampOutgoingRequestSerializer <JToken>(mFormatter),
                                         new WampServerProxyOutgoingMessageHandlerBuilder <JToken, IWampClient <JToken> >
                                             (GetHandlerBuilder()));

            var proxy =
                serverProxyBuilder.Create(wampClient, connection);

            return(proxy);
        }
コード例 #5
0
        public WampChannelFactory(IWampFormatter <TMessage> formatter)
        {
            mFormatter = formatter;

            mRpcClientFactory =
                GetRpcClientFactory();

            mPubSubClientFactory =
                GetPubSubClientFactory();

            mServerProxyBuilder =
                GetServerProxyBuilder <IWampClient <TMessage> >();

            mWampAuxiliaryClientFactory =
                GetConnectionMonitorFactory();
        }
コード例 #6
0
        private WampRpcClientFactory <TMessage> GetRpcClientFactory()
        {
            WampRpcSerializer rpcSerializer =
                new WampRpcSerializer(new WampRpcMethodAttributeProcUriMapper());

            WampServerProxyBuilder <TMessage, IWampRpcClient <TMessage>, IWampServer> serverProxyBuilder =
                GetServerProxyBuilder <IWampRpcClient <TMessage> >();

            Rpc.Client.WampServerProxyFactory <TMessage> serverProxyFactory =
                new Rpc.Client.WampServerProxyFactory <TMessage>(serverProxyBuilder);

            WampRpcClientHandlerBuilder <TMessage> clientHandlerBuilder =
                new WampRpcClientHandlerBuilder <TMessage>(mFormatter, serverProxyFactory);

            WampRpcClientFactory <TMessage> result =
                new WampRpcClientFactory <TMessage>
                    (rpcSerializer,
                    clientHandlerBuilder);

            return(result);
        }
コード例 #7
0
        private IWampPubSubClientFactory <TMessage> GetPubSubClientFactory()
        {
            WampServerProxyBuilder <TMessage, IWampPubSubClient <TMessage>, IWampServer> proxyBuilder =
                GetServerProxyBuilder <IWampPubSubClient <TMessage> >();

            PubSub.Client.WampServerProxyFactory <TMessage> serverProxyFactory =
                new PubSub.Client.WampServerProxyFactory <TMessage>(proxyBuilder);

            WampPubSubClientFactory <TMessage> result =
                new WampPubSubClientFactory <TMessage>(serverProxyFactory,
                                                       mFormatter);

            return(result);
        }
コード例 #8
0
        private IWampServer GetClient(IWampConnection<JToken> connection, IWampClient<JToken> wampClient)
        {
            var serverProxyBuilder = new WampServerProxyBuilder<JToken, IWampClient<JToken>, IWampServer>
                (new WampOutgoingRequestSerializer<JToken>(mFormatter),
                 new WampServerProxyOutgoingMessageHandlerBuilder<JToken, IWampClient<JToken>>
                     (GetHandlerBuilder()));

            var proxy =
                serverProxyBuilder.Create(wampClient, connection);

            return proxy;
        }