public SiloProviderRuntime(
     IGrainContextAccessor grainContextAccessor,
     IGrainFactory grainFactory,
     IServiceProvider serviceProvider)
 {
     _grainContextAccessor = grainContextAccessor;
     GrainFactory          = grainFactory;
     ServiceProvider       = serviceProvider;
 }
Exemple #2
0
 public DIGrainWithInjectedServices(IInjectedService injectedService, IInjectedScopedService injectedScopedService, IGrainFactory injectedGrainFactory, IGrainContextAccessor grainContextAccessor)
 {
     this.injectedService       = injectedService;
     this.injectedGrainFactory  = injectedGrainFactory;
     this.injectedScopedService = injectedScopedService;
     // get the object Id for injected GrainFactory,
     // object Id will be the same if the underlying object is the same,
     // this is one way to prove that this GrainFactory is injected from DI
     this.grainFactoryId       = ObjectIdGenerator.GetId(this.injectedGrainFactory, out _);
     this.grainContextAccessor = grainContextAccessor;
 }
        private Task OnSetupState(CancellationToken ct)
        {
            if (ct.IsCancellationRequested)
            {
                return(Task.CompletedTask);
            }
            IGrainContextAccessor grainContextAccessor = this.ServiceProvider.GetRequiredService <IGrainContextAccessor>();
            Factory <Grain, ILogConsistencyProtocolServices> protocolServicesFactory = this.ServiceProvider.GetRequiredService <Factory <Grain, ILogConsistencyProtocolServices> >();
            ILogViewAdaptorFactory consistencyProvider = SetupLogConsistencyProvider(grainContextAccessor.GrainContext);
            IGrainStorage          grainStorage        = consistencyProvider.UsesStorageProvider ? this.GetGrainStorage(this.ServiceProvider) : null;

            InstallLogViewAdaptor(protocolServicesFactory, consistencyProvider, grainStorage);
            return(Task.CompletedTask);
        }
Exemple #4
0
 public TransactionCommitter(
     ITransactionCommitterConfiguration config,
     IGrainContextAccessor contextAccessor,
     ITransactionDataCopier <OperationState> copier,
     IGrainRuntime grainRuntime,
     ILogger <TransactionCommitter <TService> > logger)
 {
     this.config             = config;
     this.context            = contextAccessor.GrainContext;
     this.copier             = copier;
     this.grainRuntime       = grainRuntime;
     this.logger             = logger;
     this.activationLifetime = new ActivationLifetime(this.context);
 }
Exemple #5
0
 public TransactionalState(
     TransactionalStateConfiguration transactionalStateConfiguration,
     IGrainContextAccessor contextAccessor,
     ITransactionDataCopier <TState> copier,
     IGrainRuntime grainRuntime,
     ILogger <TransactionalState <TState> > logger)
 {
     this.config       = transactionalStateConfiguration;
     this.context      = contextAccessor.GrainContext;
     this.copier       = copier;
     this.grainRuntime = grainRuntime;
     this.logger       = logger;
     this.copiers      = new Dictionary <Type, object>();
     this.copiers.Add(typeof(TState), copier);
     this.activationLifetime = new ActivationLifetime(this.context);
 }
        public SiloStreamProviderRuntime(
            IConsistentRingProvider consistentRingProvider,
            InsideRuntimeClient runtimeClient,
            ImplicitStreamSubscriberTable implicitStreamSubscriberTable,
            ILoggerFactory loggerFactory,
            ILocalSiloDetails siloDetails,
            IGrainContextAccessor grainContextAccessor)
        {
            this.loggerFactory          = loggerFactory;
            this.siloDetails            = siloDetails;
            this.grainContextAccessor   = grainContextAccessor;
            this.consistentRingProvider = consistentRingProvider;
            this.runtimeClient          = runtimeClient;
            this.logger           = this.loggerFactory.CreateLogger <SiloProviderRuntime>();
            this.grainBasedPubSub = new GrainBasedPubSubRuntime(this.GrainFactory);
            var tmp = new ImplicitStreamPubSub(this.runtimeClient.InternalGrainFactory, implicitStreamSubscriberTable);

            this.implictPubSub = tmp;
            this.combinedGrainBasedAndImplicitPubSub = new StreamPubSubImpl(this.grainBasedPubSub, tmp);
        }
 public TableExampleStorageFactory(IGrainContextAccessor context)
 {
     this.contextAccessor = context;
 }
 public NamedTransactionalStateStorageFactory(IGrainContextAccessor contextAccessor, ILoggerFactory loggerFactory)
 {
     this.contextAccessor = contextAccessor;
     this.loggerFactory   = loggerFactory;
 }
 public TransactionalResourceExtension(IGrainContextAccessor contextAccessor)
 {
     this.factories = contextAccessor.GrainContext.GetResourceFactoryRegistry <ITransactionalResource>();
     this.resources = new Dictionary <string, ITransactionalResource>();
 }
 public TransactionCommitterFactory(IGrainContextAccessor contextAccessor)
 {
     this.contextAccessor = contextAccessor;
 }
 public TransactionalStateFactory(IGrainContextAccessor contextAccessor)
 {
     this.contextAccessor = contextAccessor;
 }
Exemple #12
0
 public BlobExampleStorageFactory(IGrainContextAccessor contextAccessor)
 {
     this.contextAccessor = contextAccessor;
 }