public Task <string> CheckProviderType() { IGrainStorage grainStorage = GrainStorageExtensions.GetGrainStorage(GetType(), this.ServiceProvider); Assert.NotNull(grainStorage); return(Task.FromResult(grainStorage.GetType().FullName)); }
public IStorage <TGrainState> GetStorage <TGrainState>(IGrainContext grainContext) { if (grainContext is null) { throw new ArgumentNullException(nameof(grainContext)); } var grainType = grainContext.GrainInstance?.GetType() ?? throw new ArgumentNullException(nameof(IGrainContext.GrainInstance)); IGrainStorage grainStorage = GrainStorageExtensions.GetGrainStorage(grainType, ServiceProvider); string grainTypeName = grainContext.GrainInstance.GetType().FullName; return(new StateStorageBridge <TGrainState>(grainTypeName, grainContext.GrainReference, grainStorage, this.loggerFactory)); }
private Task OnSetupState(CancellationToken ct) { if (ct.IsCancellationRequested) { return(Task.CompletedTask); } IGrainContextAccessor grainContextAccessor = this.ServiceProvider.GetRequiredService <IGrainContextAccessor>(); Factory <IGrainContext, ILogConsistencyProtocolServices> protocolServicesFactory = this.ServiceProvider.GetRequiredService <Factory <IGrainContext, ILogConsistencyProtocolServices> >(); var grainContext = grainContextAccessor.GrainContext; ILogViewAdaptorFactory consistencyProvider = SetupLogConsistencyProvider(grainContext); IGrainStorage grainStorage = consistencyProvider.UsesStorageProvider ? GrainStorageExtensions.GetGrainStorage(grainContext?.GrainInstance.GetType(), this.ServiceProvider) : null; InstallLogViewAdaptor(grainContext, protocolServicesFactory, consistencyProvider, grainStorage); return(Task.CompletedTask); }