public static void ClassInitialize(TestContext context)
 {
     DefaultConfig.MessageSerializer     = new BinaryMessageSerializer();
     DefaultConfig.MessageFactory        = new DefaultMessageFactory();
     DefaultConfig.RemoteExecutorFactory = new RemoteExecutorFactory();
     DefaultConfig.TaskScheduler         = new AsyncTaskScheduler();
     TransportLayerResolver.Register(new SharedLidgrenProvider());
 }
Exemplo n.º 2
0
        public void Should_register_throw_if_there_is_provider_for_given_schema()
        {
            TransportLayerResolver.Register(StubProvider("s1", null, null));

            var ex = Assert.Throws <ArgumentException>(() => TransportLayerResolver.Register(StubProvider("s1", null, null)));

            Assert.That(ex.Message, Is.EqualTo("There is already registered provider for 's1' scheme."));
        }
Exemplo n.º 3
0
 /// <summary>
 /// Configures remote execution framework.
 /// Registers all supported transport layer providers.
 /// </summary>
 public static void Configure()
 {
     DefaultConfig.MessageSerializer     = new BinaryMessageSerializer();
     DefaultConfig.MessageFactory        = new DefaultMessageFactory();
     DefaultConfig.RemoteExecutorFactory = new RemoteExecutorFactory();
     DefaultConfig.TaskScheduler         = new AsyncTaskScheduler();
     TransportLayerResolver.Register(new LidgrenProvider());
 }
 /// <summary>
 /// Configures remote execution framework.
 /// Registers all supported transport layer providers.
 /// </summary>
 public static void Configure()
 {
     DefaultConfig.MessageSerializer     = new BinaryMessageSerializer();
     DefaultConfig.MessageFactory        = new DefaultMessageFactory();
     DefaultConfig.RemoteExecutorFactory = new RemoteExecutorFactory();
     DefaultConfig.TaskScheduler         = new AsyncTaskScheduler();
     TransportLayerResolver.Register(new SharedLidgrenProvider());
     InterfaceResolver.Singleton.RegisterInterface(typeof(IBasicService));
 }
Exemplo n.º 5
0
 /// <summary>
 /// Configures remote execution framework.
 /// Registers all supported transport layer providers.
 /// </summary>
 public static void Configure()
 {
     DefaultConfig.Timeout               = new TimeSpan(0, 0, 15);
     DefaultConfig.MessageSerializer     = new ProtobufSerializer();
     DefaultConfig.MessageFactory        = new ProtobufMessageFactory();
     DefaultConfig.RemoteExecutorFactory = new RemoteExecutorFactory();
     DefaultConfig.TaskScheduler         = new AsyncTaskScheduler();
     TransportLayerResolver.Register(new DurableLidgrenProvider());
     InterfaceResolver.Singleton.RegisterInterface <ICalculator>();
 }
        /// <summary>
        /// Configures remote execution framework.
        /// Registers all supported transport layer providers.
        /// </summary>
        public static void Configure(ILidgrenCryptoProviderResolver providerResolver)
        {
            DefaultConfig.MessageSerializer     = new BinaryMessageSerializer();
            DefaultConfig.MessageFactory        = new DefaultMessageFactory();
            DefaultConfig.RemoteExecutorFactory = new RemoteExecutorFactory();
            DefaultConfig.TaskScheduler         = new AsyncTaskScheduler();
            TransportLayerResolver.Register(new LidgrenProvider(providerResolver));

            InterfaceResolver.Singleton.RegisterInterface(typeof(IAuthenticator));
            InterfaceResolver.Singleton.RegisterInterface(typeof(ISessionEncryptedCallback));
        }
Exemplo n.º 7
0
        private IServerEndpoint CreateServer(ILidgrenCryptoProviderResolver providerResolver)
        {
            DefaultConfig.MessageSerializer     = new BinaryMessageSerializer();
            DefaultConfig.MessageFactory        = new DefaultMessageFactory();
            DefaultConfig.RemoteExecutorFactory = new RemoteExecutorFactory();
            DefaultConfig.TaskScheduler         = new AsyncTaskScheduler();
            TransportLayerResolver.Register(new LidgrenProvider(providerResolver));
            _connectionListener = new LidgrenServerConnectionListener(_applicationId, _listenAddress, _port, new BinaryMessageSerializer(), providerResolver);

            _dispatcher = new OperationDispatcher();
            _dispatcher.RegisterHandler <ICalculator>(new Calculator());
            _dispatcher.RegisterHandler <IGreeter>(new Greeter());

            IServerEndpoint server = new GenericServerEndpoint(_connectionListener, new ServerConfig(), () => _dispatcher);

            server.Start();
            return(server);
        }
Exemplo n.º 8
0
        public void Should_resolve_providers()
        {
            var clientChannel1      = MockRepository.GenerateMock <IClientChannel>();
            var clientChannel2      = MockRepository.GenerateMock <IClientChannel>();
            var connectionListener1 = MockRepository.GenerateMock <IServerConnectionListener>();
            var connectionListener2 = MockRepository.GenerateMock <IServerConnectionListener>();

            var provider1 = StubProvider("scheme1", clientChannel1, connectionListener1);
            var provider2 = StubProvider("scheme2", clientChannel2, connectionListener2);

            TransportLayerResolver.Register(provider1);
            TransportLayerResolver.Register(provider2);

            Assert.That(TransportLayerResolver.CreateClientChannelFor(new Uri("scheme1://localhost")), Is.SameAs(clientChannel1));
            Assert.That(TransportLayerResolver.CreateClientChannelFor(new Uri("scheme2://localhost")), Is.SameAs(clientChannel2));
            Assert.That(TransportLayerResolver.CreateConnectionListenerFor(new Uri("scheme1://localhost")), Is.SameAs(connectionListener1));
            Assert.That(TransportLayerResolver.CreateConnectionListenerFor(new Uri("scheme2://localhost")), Is.SameAs(connectionListener2));
        }
Exemplo n.º 9
0
 private static ClientConnection CreateSharedConnection(string clientId, string address)
 {
     return(new ClientConnection(TransportLayerResolver.CreateClientChannelFor(clientId, new Uri(address)),
                                 dispatcher, new ConnectionConfig()));
 }
Exemplo n.º 10
0
        public void Should_create_connection_listener_throw_exception_for_unknown_schema()
        {
            var ex = Assert.Throws <UnknownTransportLayerException>(() => TransportLayerResolver.CreateConnectionListenerFor(new Uri("s1://localhost")));

            Assert.That(ex.Message, Is.EqualTo("Unable to resolve transport layer for 's1' scheme."));
        }
Exemplo n.º 11
0
 /// <summary>
 /// Creates instance of remote connection with channel constructed from connectionUri.
 /// </summary>
 /// <param name="clientId">Identifier used to share client channels.</param>
 /// <param name="connectionUri">Connection uri used to create channel.</param>
 /// <param name="dispatcher">Operation dispatcher used to handle incoming operation requests from remote end.</param>
 /// <param name="config">Connection configuration.</param>
 public RemoteConnection(string clientId, string connectionUri, IOperationDispatcher dispatcher, IConnectionConfig config)
     : this(TransportLayerResolver.CreateClientChannelFor(clientId, new Uri(connectionUri)), dispatcher, config)
 {
 }
Exemplo n.º 12
0
 /// <summary>
 /// Creates server endpoint instance.
 /// </summary>
 /// <param name="uri">Listener uri used to create server connection listener.</param>
 /// <param name="config">Server configuration.</param>
 protected ServerEndpoint(string uri, IServerConfig config)
     : this(TransportLayerResolver.CreateConnectionListenerFor(new Uri(uri)), config)
 {
 }