public TcpReactivePlatform(ITcpReactivePlatformSettings settings) #pragma warning disable CA2000 // Dispose objects before losing scope. (Ownership transfer.) : this(settings, new TcpReactiveEnvironment()) #pragma warning restore CA2000 { _selfContainedEnvironment = true; Environment.StartAsync(CancellationToken.None).Wait(); }
private static TcpMultiRoleArguments[] GetArgs(ITcpReactivePlatformSettings settings, params ReactiveServiceType[] group) { var args = new TcpMultiRoleArguments[group.Length]; for (var i = 0; i < group.Length; ++i) { args[i] = group[i] switch { ReactiveServiceType.MetadataService => new TcpMultiRoleArguments { Role = ReactiveServiceType.MetadataService, Uri = settings.MetadataUri, Port = settings.MetadataPort, Type = typeof(IReactiveStorageConnection), }, ReactiveServiceType.QueryCoordinator => new TcpMultiRoleArguments { Role = ReactiveServiceType.QueryCoordinator, Uri = settings.QueryCoordinatorUri, Port = settings.QueryCoordinatorPort, Type = typeof(IRemotingReactiveServiceConnection), }, ReactiveServiceType.QueryEvaluator => new TcpMultiRoleArguments { Role = ReactiveServiceType.QueryEvaluator, Uri = settings.QueryEvaluatorUri, Port = settings.QueryEvaluatorPort, Type = typeof(IReactiveQueryEvaluatorConnection), }, ReactiveServiceType.MessagingService => new TcpMultiRoleArguments { Role = ReactiveServiceType.MessagingService, Uri = settings.MessagingUri, Port = settings.MessagingPort, Type = typeof(IReactiveMessagingConnection), }, ReactiveServiceType.StateStoreService => new TcpMultiRoleArguments { Role = ReactiveServiceType.StateStoreService, Uri = settings.StateStoreUri, Port = settings.StateStorePort, Type = typeof(IReactiveStateStoreConnection), }, ReactiveServiceType.KeyValueStoreService => new TcpMultiRoleArguments { Role = ReactiveServiceType.KeyValueStoreService, Uri = settings.KeyValueStoreUri, Port = settings.KeyValueStorePort, Type = typeof(ITransactionalKeyValueStoreConnection), }, _ => throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "Service type '{0}' not supported in the multi-role platform.", group[i])), }; } return(args); }
private static TcpMultiRoleRunnable[] GetRunnables(ITcpReactivePlatformSettings settings, params ReactiveServiceType[][] groups) { var runnables = new TcpMultiRoleRunnable[groups.Length]; for (var i = 0; i < groups.Length; ++i) { runnables[i] = new TcpMultiRoleRunnable(GetArgs(settings, groups[i])); } return(runnables); }
public TcpReactivePlatform(ITcpReactivePlatformSettings settings, IReactiveEnvironment environment) : base(environment) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } _queryEvaluator = new TcpQueryEvaluator(this, settings.GetExecutablePath("QueryEvaluatorHost"), settings.QueryEvaluatorPort, settings.QueryEvaluatorUri); _queryCoordinator = new TcpQueryCoordinator(this, settings.GetExecutablePath("QueryCoordinatorHost"), settings.QueryCoordinatorPort, settings.QueryCoordinatorUri); }
public TcpReactiveEnvironment(string azureConnectionString, ITcpReactivePlatformSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } StorageType = MetadataStorageType.Azure; AzureConnectionString = azureConnectionString; MessagingService = new TcpMessagingService(settings.GetExecutablePath("MessagingHost"), settings.MessagingPort, settings.MessagingUri); StateStoreService = new TcpStateStoreService(settings.GetExecutablePath("StateStoreHost"), settings.StateStorePort, settings.StateStoreUri); KeyValueStoreService = new TcpKeyValueStoreService(settings.GetExecutablePath("KeyValueStoreHost"), settings.KeyValueStorePort, settings.KeyValueStoreUri); }
public TcpMultiRoleReactivePlatform(ITcpReactivePlatformSettings settings, params ReactiveServiceType[][] groups) : this(Validate(groups), GetRunnables(settings, Validate(groups))) { }