public SharedClusterWorker( ILogger <SharedClusterWorker> logger, IClusterSettings clusterSettings, IDescriptorProvider descriptorProvider, ISharedClusterProviderFactory clusterProvider, ISharedSetupRootActors setupRootActors = default, ISubscriptionFactory subscriptionFactory = default, IMainWorker mainWorker = default, IMetricsProvider metricsProvider = default ) { _logger = logger; _setupRootActors = setupRootActors; _clusterSettings = clusterSettings; _mainWorker = mainWorker; _descriptorProvider = descriptorProvider; _clusterProvider = clusterProvider; _subscriptionFactory = subscriptionFactory; _metricsProvider = metricsProvider; _cancellationTokenSource = new CancellationTokenSource(); }
public DescriptorManager(IDescriptorProvider provider) { _provider = provider; _descriptors = new Dictionary <string, WorkItemDescriptor>(); }
public WorkItemManager(IDataProvider dataProvider, IDescriptorProvider descriptorProvider) { DataProvider = dataProvider; DescriptorManager = new DescriptorManager(descriptorProvider); ValidationManager = new ValidationManager(this, DescriptorManager); }
public CustomActivityParser(IDescriptorProvider descriptorProvider, ITypeInfoProvider typeInfoProvider) { _compositeActivityParser = new CompositeActivityParser(descriptorProvider, typeInfoProvider); _typeInfoProvider = typeInfoProvider ?? throw new ArgumentNullException(nameof(typeInfoProvider)); }
public static DataDescriptor GetDescriptor(this IDescriptorProvider validateAttribute, Type type) => _getDescriptorMethods .GetOrAdd(type, t => GenerateGetDescriptorMethod(type)) .Invoke(validateAttribute);
public DescriptorContainer(IDescriptorProvider parent) { _parent = parent; }
public static (ClusterConfig, GrpcCoreRemoteConfig) CreateClusterConfig(IClusterSettings clusterSettings, IClusterProvider clusterProvider, IIdentityLookup identityLookup, IDescriptorProvider descriptorProvider, ILogger _logger) { //var portStr = Environment.GetEnvironmentVariable("PROTOPORT") ?? $"{RemoteConfigBase.AnyFreePort}"; var clusterName = clusterSettings.ClusterName; var hostip = Environment.GetEnvironmentVariable("PROTOHOST"); var host = clusterSettings.ClusterHost; var advertisedHost = clusterSettings.ClusterHost; var port = clusterSettings.ClusterPort; if ("protohost".Equals(host)) { host = hostip; advertisedHost = hostip; _logger.LogDebug($"Using PROTOHOST"); } _logger.LogDebug($"BindTo to {host} port {port}"); _logger.LogDebug($"WithAdvertisedHost to {advertisedHost}"); FileDescriptor[] descriptors = descriptorProvider.GetDescriptors(); // TOOD: This doesn't seem to work. Why? List <ChannelOption> options = new List <ChannelOption>() { new ChannelOption(ChannelOptions.MaxSendMessageLength, (100 * 1024 * 1024)), new ChannelOption(ChannelOptions.MaxReceiveMessageLength, (100 * 1024 * 1024)) }; GrpcCoreRemoteConfig remoteConfig = GrpcCoreRemoteConfig.BindTo(host, port) .WithEndpointWriterMaxRetries(0) .WithRemoteDiagnostics(true) .WithAdvertisedHost(advertisedHost) .WithProtoMessages(descriptors) .WithChannelOptions(options); var clusterConfig = ClusterConfig.Setup(clusterName, clusterProvider, identityLookup); return(clusterConfig, remoteConfig); }