示例#1
0
 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;
 }
示例#3
0
 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>();
 }
示例#4
0
 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;
 }
示例#5
0
 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();
 }