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()); }
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.")); }
/// <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)); }
/// <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)); }
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); }
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)); }
private static ClientConnection CreateSharedConnection(string clientId, string address) { return(new ClientConnection(TransportLayerResolver.CreateClientChannelFor(clientId, new Uri(address)), dispatcher, new ConnectionConfig())); }
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.")); }
/// <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) { }
/// <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) { }