示例#1
0
        protected virtual IWampRpcServer <TMessage> BuildRpcServer(IWampFormatter <TMessage> formatter,
                                                                   IWampRpcMetadataCatalog rpcMetadataCatalog)
        {
            WampRpcServer <TMessage> rpcServer = new WampRpcServer <TMessage>(formatter, rpcMetadataCatalog);

            return(rpcServer);
        }
示例#2
0
 /// <summary>
 /// Specialized constructor for use only by derived classes.
 /// </summary>
 /// <param name="clientSessionId">Identifier for the client session.</param>
 /// <param name="formatter">The formatter.</param>
 /// <param name="metadataCatalog">The metadata catalog.</param>
 /// <param name="topicContainer">The topic container.</param>
 protected WampCraAuthenticator(string clientSessionId, IWampFormatter <TMessage> formatter,
                                IWampRpcMetadataCatalog metadataCatalog, IWampTopicContainer topicContainer)
 {
     mClientSessionId = clientSessionId;
     mFormatter       = formatter;
     mMetadataCatalog = metadataCatalog;
     mTopicContainer  = topicContainer;
     mPermissions     = new WampCraPermissionsMapper();
 }
示例#3
0
        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);
        }
示例#4
0
        public virtual IWampServer <TMessage> Build(IWampFormatter <TMessage> formatter,
                                                    IWampRpcMetadataCatalog rpcMetadataCatalog,
                                                    IWampTopicContainerExtended <TMessage> topicContainer)
        {
            IWampRpcServer <TMessage>    rpcServer       = BuildRpcServer(formatter, rpcMetadataCatalog);
            IWampPubSubServer <TMessage> pubSubServer    = BuildPubSubServer(formatter, topicContainer);
            IWampAuxiliaryServer         auxiliaryServer = BuildAuxiliaryServer(formatter);

            DefaultWampServer <TMessage> server =
                new DefaultWampServer <TMessage>(rpcServer, pubSubServer, auxiliaryServer);

            return(server);
        }
        public override IWampServer <TMessage> Build(IWampFormatter <TMessage> formatter,
                                                     IWampRpcMetadataCatalog rpcMetadataCatalog,
                                                     IWampTopicContainerExtended <TMessage> topicContainer)
        {
            IWampRpcServer <TMessage>    rpcServer       = BuildRpcServer(formatter, rpcMetadataCatalog);
            IWampPubSubServer <TMessage> pubSubServer    = BuildPubSubServer(formatter, topicContainer);
            IWampAuxiliaryServer         auxiliaryServer = BuildAuxiliaryServer(formatter);

            WampCraServer <TMessage> server =
                new WampCraServer <TMessage>(mCraAuthenticaticatorBuilder, rpcServer, rpcMetadataCatalog, pubSubServer,
                                             auxiliaryServer);

            return(server);
        }
示例#6
0
        public WampCraServer(WampCraAuthenticaticatorBuilder <TMessage> authFactory,
                             IWampRpcServer <TMessage> rpcServer,
                             IWampRpcMetadataCatalog rpcMetadataCatalog,
                             IWampPubSubServer <TMessage> pubSubServer = null,
                             IWampAuxiliaryServer auxiliaryServer      = null)
        {
            mAuthFactory     = authFactory;
            mRpcServer       = rpcServer;
            mPubSubServer    = pubSubServer;
            mAuxiliaryServer = auxiliaryServer;

            // Add ICraProcedures to the metadata catalog so the client can call the auth methods.
            mWampCraProceduredMetadata = new MethodInfoWampCraRpcMetadata(new MockWampCraProcedures());
            rpcMetadataCatalog.Register(mWampCraProceduredMetadata);
        }
示例#7
0
 public SampleWampCraAuthenticator(string clientSessionId, IWampFormatter <TMessage> formatter, IWampRpcMetadataCatalog metadataCatalog, IWampTopicContainer topicContainer)
     : base(clientSessionId, formatter, metadataCatalog, topicContainer)
 {
 }
 public void Initialize(IWampFormatter <TMessage> formatter, IWampRpcMetadataCatalog rpcMetadataCatalog, IWampTopicContainerExtended <TMessage> topicContainer)
 {
     Formatter          = formatter;
     RpcMetadataCatalog = rpcMetadataCatalog;
     mTopicContainer    = topicContainer;
 }
示例#9
0
 /// <summary>
 /// Initializes a new instance of <see cref="WampRpcServer{TMessage}"/>.
 /// </summary>
 /// <param name="formatter">The <see cref="IWampFormatter{TMessage}"/>
 /// used in order to deserialize method arguments.</param>
 /// <param name="rpcMetadataCatalog">The <see cref="IWampRpcMetadataCatalog"/>
 /// used in order to map calls to their corresponding methods.</param>
 public WampRpcServer(IWampFormatter <TMessage> formatter,
                      IWampRpcMetadataCatalog rpcMetadataCatalog)
 {
     mFormatter          = formatter;
     mRpcMetadataCatalog = rpcMetadataCatalog;
 }
示例#10
0
 public void InitializeAuthenticationBuilder(IWampFormatter <TMessage> formatter,
                                             IWampRpcMetadataCatalog rpcMetadataCatalog,
                                             IWampTopicContainerExtended <TMessage> topicContainer)
 {
     mCraAuthenticaticatorBuilder.Initialize(formatter, rpcMetadataCatalog, topicContainer);
 }