internal Dispatcher( OrleansTaskScheduler scheduler, MessageCenter transport, Catalog catalog, IOptionsMonitor <SiloMessagingOptions> messagingOptions, PlacementService placementService, ILocalGrainDirectory localGrainDirectory, GrainLocator grainLocator, ActivationCollector activationCollector, MessageFactory messageFactory, CompatibilityDirectorManager compatibilityDirectorManager, ILoggerFactory loggerFactory, RuntimeMessagingTrace messagingTrace, GrainVersionManifest versionManifest, IAsyncTimerFactory asyncTimerFactory, IncomingRequestMonitor incomingRequestMonitor) { _activationWorkloadMonitor = incomingRequestMonitor; this.scheduler = scheduler; this.catalog = catalog; Transport = transport; this.messagingOptions = messagingOptions.CurrentValue; this.invokeWorkItemLogger = loggerFactory.CreateLogger <InvokeWorkItem>(); this.placementService = placementService; this.localGrainDirectory = localGrainDirectory; this.grainLocator = grainLocator; this.activationCollector = activationCollector; this.messageFactory = messageFactory; this.compatibilityDirectorManager = compatibilityDirectorManager; this.messagingTrace = messagingTrace; this._versionManifest = versionManifest; logger = loggerFactory.CreateLogger <Dispatcher>(); }
/// <summary> /// Create a <see cref="PlacementService"/> instance. /// </summary> public PlacementService( IOptionsMonitor <SiloMessagingOptions> siloMessagingOptions, ILocalSiloDetails localSiloDetails, ISiloStatusOracle siloStatusOracle, ILogger <PlacementService> logger, GrainLocator grainLocator, GrainVersionManifest grainInterfaceVersions, CachedVersionSelectorManager versionSelectorManager, PlacementDirectorResolver directorResolver, PlacementStrategyResolver strategyResolver) { LocalSilo = localSiloDetails.SiloAddress; _strategyResolver = strategyResolver; _directorResolver = directorResolver; _logger = logger; _grainLocator = grainLocator; _grainInterfaceVersions = grainInterfaceVersions; _versionSelectorManager = versionSelectorManager; _siloStatusOracle = siloStatusOracle; _assumeHomogeneousSilosForTesting = siloMessagingOptions.CurrentValue.AssumeHomogenousSilosForTesting; _workers = new PlacementWorker[PlacementWorkerCount]; for (var i = 0; i < PlacementWorkerCount; i++) { _workers[i] = new(this); } }
public ActivationMessageScheduler( Catalog catalog, Dispatcher dispatcher, GrainVersionManifest versionManifest, RuntimeMessagingTrace messagingTrace, ActivationCollector activationCollector, OrleansTaskScheduler scheduler, CompatibilityDirectorManager compatibilityDirectorManager, IncomingRequestMonitor incomingRequestMonitor) { _incomingRequestMonitor = incomingRequestMonitor; _catalog = catalog; _versionManifest = versionManifest; _messagingTrace = messagingTrace; _activationCollector = activationCollector; _scheduler = scheduler; _compatibilityDirectorManager = compatibilityDirectorManager; _dispatcher = dispatcher; }
public InternalGrainRuntime( MessageCenter messageCenter, Catalog catalog, GrainVersionManifest versionManifest, RuntimeMessagingTrace messagingTrace, GrainLocator grainLocator, CompatibilityDirectorManager compatibilityDirectorManager, IOptions <GrainCollectionOptions> collectionOptions, ILocalGrainDirectory localGrainDirectory, IActivationWorkingSet activationWorkingSet) { MessageCenter = messageCenter; Catalog = catalog; RuntimeClient = catalog.RuntimeClient; GrainVersionManifest = versionManifest; MessagingTrace = messagingTrace; CompatibilityDirectorManager = compatibilityDirectorManager; GrainLocator = grainLocator; CollectionOptions = collectionOptions; LocalGrainDirectory = localGrainDirectory; ActivationWorkingSet = activationWorkingSet; }