internal Dispatcher( OrleansTaskScheduler scheduler, ISiloMessageCenter transport, Catalog catalog, IOptions <SiloMessagingOptions> messagingOptions, PlacementDirectorsManager placementDirectorsManager, ILocalGrainDirectory localGrainDirectory, ActivationCollector activationCollector, MessageFactory messageFactory, SerializationManager serializationManager, CompatibilityDirectorManager compatibilityDirectorManager, ILoggerFactory loggerFactory, IOptions <SchedulingOptions> schedulerOptions) { this.scheduler = scheduler; this.catalog = catalog; Transport = transport; this.messagingOptions = messagingOptions.Value; this.invokeWorkItemLogger = loggerFactory.CreateLogger <InvokeWorkItem>(); this.placementDirectorsManager = placementDirectorsManager; this.localGrainDirectory = localGrainDirectory; this.activationCollector = activationCollector; this.messageFactory = messageFactory; this.serializationManager = serializationManager; this.compatibilityDirectorManager = compatibilityDirectorManager; this.schedulingOptions = schedulerOptions.Value; logger = loggerFactory.CreateLogger <Dispatcher>(); }
public InsideRuntimeClient( ILocalSiloDetails siloDetails, GrainTypeManager typeManager, TypeMetadataCache typeMetadataCache, OrleansTaskScheduler scheduler, IServiceProvider serviceProvider, MessageFactory messageFactory, Factory <ITransactionAgent> transactionAgent, ILoggerFactory loggerFactory, IOptions <SiloMessagingOptions> messagingOptions, IGrainCancellationTokenRuntime cancellationTokenRuntime, IOptions <SchedulingOptions> schedulerOptions) { this.ServiceProvider = serviceProvider; this.MySilo = siloDetails.SiloAddress; this.disposables = new List <IDisposable>(); this.callbacks = new ConcurrentDictionary <CorrelationId, CallbackData>(); this.ResponseTimeout = messagingOptions.Value.ResponseTimeout; this.typeManager = typeManager; this.messageFactory = messageFactory; this.transactionAgent = new Lazy <ITransactionAgent>(() => transactionAgent()); this.Scheduler = scheduler; this.ConcreteGrainFactory = new GrainFactory(this, typeMetadataCache); this.tryResendMessage = msg => this.Dispatcher.TryResendMessage(msg); this.unregisterCallback = msg => this.UnRegisterCallback(msg.Id); this.logger = loggerFactory.CreateLogger <InsideRuntimeClient>(); this.invokeExceptionLogger = loggerFactory.CreateLogger($"{typeof(Grain).FullName}.InvokeException"); this.loggerFactory = loggerFactory; this.messagingOptions = messagingOptions.Value; this.callbackDataLogger = loggerFactory.CreateLogger <CallbackData>(); this.timerLogger = loggerFactory.CreateLogger <SafeTimer>(); this.cancellationTokenRuntime = cancellationTokenRuntime; this.schedulingOptions = schedulerOptions.Value; }
internal Dispatcher( OrleansTaskScheduler scheduler, MessageCenter transport, Catalog catalog, IOptions <SiloMessagingOptions> messagingOptions, PlacementService placementService, ILocalGrainDirectory localGrainDirectory, GrainLocator grainLocator, ActivationCollector activationCollector, MessageFactory messageFactory, CompatibilityDirectorManager compatibilityDirectorManager, ILoggerFactory loggerFactory, IOptions <SchedulingOptions> schedulerOptions, RuntimeMessagingTrace messagingTrace, GrainTypeManager grainTypeManager) { this.scheduler = scheduler; this.catalog = catalog; Transport = transport; this.messagingOptions = messagingOptions.Value; 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.grainTypeManager = grainTypeManager; this.schedulingOptions = schedulerOptions.Value; logger = loggerFactory.CreateLogger <Dispatcher>(); }
public InsideRuntimeClient( ILocalSiloDetails siloDetails, GrainTypeManager typeManager, TypeMetadataCache typeMetadataCache, OrleansTaskScheduler scheduler, IServiceProvider serviceProvider, MessageFactory messageFactory, ITransactionAgent transactionAgent, ILoggerFactory loggerFactory, IOptions <SiloMessagingOptions> messagingOptions, IGrainCancellationTokenRuntime cancellationTokenRuntime, IOptions <SchedulingOptions> schedulerOptions, ApplicationRequestsStatisticsGroup appRequestStatistics) { this.ServiceProvider = serviceProvider; this.MySilo = siloDetails.SiloAddress; this.disposables = new List <IDisposable>(); this.callbacks = new ConcurrentDictionary <CorrelationId, CallbackData>(); this.typeManager = typeManager; this.messageFactory = messageFactory; this.transactionAgent = transactionAgent; this.Scheduler = scheduler; this.ConcreteGrainFactory = new GrainFactory(this, typeMetadataCache); this.logger = loggerFactory.CreateLogger <InsideRuntimeClient>(); this.invokeExceptionLogger = loggerFactory.CreateLogger($"{typeof(Grain).FullName}.InvokeException"); this.loggerFactory = loggerFactory; this.messagingOptions = messagingOptions.Value; this.cancellationTokenRuntime = cancellationTokenRuntime; this.appRequestStatistics = appRequestStatistics; this.schedulingOptions = schedulerOptions.Value; }
internal Dispatcher( OrleansTaskScheduler scheduler, ISiloMessageCenter transport, Catalog catalog, ClusterConfiguration config, PlacementDirectorsManager placementDirectorsManager, ILocalGrainDirectory localGrainDirectory, MessageFactory messagefactory, SerializationManager serializationManager, CompatibilityDirectorManager compatibilityDirectorManager, ILoggerFactory loggerFactory, IOptions <SchedulingOptions> schedulerOptions) { this.scheduler = scheduler; this.catalog = catalog; Transport = transport; this.config = config; this.invokeWorkItemLogger = loggerFactory.CreateLogger <InvokeWorkItem>(); this.placementDirectorsManager = placementDirectorsManager; this.localGrainDirectory = localGrainDirectory; this.messagefactory = messagefactory; this.serializationManager = serializationManager; this.compatibilityDirectorManager = compatibilityDirectorManager; this.schedulingOptions = schedulerOptions.Value; logger = loggerFactory.CreateLogger <Dispatcher>(); random = new SafeRandom(); }