Ejemplo n.º 1
0
 public async Task SetSelectorStrategy(GrainInterfaceType interfaceType, VersionSelectorStrategy strategy)
 {
     CheckIfIsExistingInterface(interfaceType);
     await SetStrategy(
         store => store.SetSelectorStrategy(interfaceType, strategy),
         siloControl => siloControl.SetSelectorStrategy(interfaceType, strategy));
 }
 public VersionSelectorManager(IServiceProvider serviceProvider, IOptions <GrainVersioningOptions> options)
 {
     this.serviceProvider    = serviceProvider;
     this.strategyFromConfig = serviceProvider.GetRequiredServiceByName <VersionSelectorStrategy>(options.Value.DefaultVersionSelectorStrategy);
     Default          = ResolveVersionSelector(serviceProvider, this.strategyFromConfig);
     versionSelectors = new Dictionary <GrainInterfaceType, IVersionSelector>();
 }
Ejemplo n.º 3
0
        private static IVersionSelector ResolveVersionSelector(IServiceProvider serviceProvider,
                                                               VersionSelectorStrategy strategy)
        {
            var policyType = strategy.GetType();

            return(serviceProvider.GetRequiredServiceByKey <Type, IVersionSelector>(policyType));
        }
Ejemplo n.º 4
0
 public VersionSelectorManager(IServiceProvider serviceProvider, GlobalConfiguration configuration)
 {
     this.serviceProvider    = serviceProvider;
     this.strategyFromConfig = configuration.DefaultVersionSelectorStrategy;
     Default          = ResolveVersionSelector(serviceProvider, strategyFromConfig);
     versionSelectors = new Dictionary <int, IVersionSelector>();
 }
Ejemplo n.º 5
0
        private static IVersionSelector ResolveVersionSelector(IServiceProvider serviceProvider,
                                                               VersionSelectorStrategy strategy)
        {
            var policyType   = strategy.GetType();
            var directorType = typeof(IVersionSelector <>).MakeGenericType(policyType);

            return((IVersionSelector)serviceProvider.GetRequiredService(directorType));
        }
 public void SetSelector(GrainInterfaceType interfaceType, VersionSelectorStrategy strategy)
 {
     if (strategy == null)
     {
         versionSelectors.Remove(interfaceType);
     }
     else
     {
         var selector = ResolveVersionSelector(this.serviceProvider, strategy);
         versionSelectors[interfaceType] = selector;
     }
 }
        public void SetSelector(VersionSelectorStrategy strategy)
        {
            var selector = ResolveVersionSelector(this.serviceProvider, strategy ?? this.strategyFromConfig);

            Default = selector;
        }
Ejemplo n.º 8
0
 public async Task SetSelectorStrategy(VersionSelectorStrategy strategy)
 {
     await SetStrategy(
         store => store.SetSelectorStrategy(strategy),
         siloControl => siloControl.SetSelectorStrategy(strategy));
 }
Ejemplo n.º 9
0
 public async Task SetSelectorStrategy(int interfaceId, VersionSelectorStrategy strategy)
 {
     ThrowIfNotEnabled();
     await StoreGrain.SetSelectorStrategy(interfaceId, strategy);
 }
Ejemplo n.º 10
0
 public async Task SetSelectorStrategy(VersionSelectorStrategy strategy)
 {
     ThrowIfNotEnabled();
     await StoreGrain.SetSelectorStrategy(strategy);
 }
Ejemplo n.º 11
0
 public Task SetSelectorStrategy(int interfaceId, VersionSelectorStrategy strategy)
 {
     this.selectorManager.SetSelector(interfaceId, strategy);
     this.cachedVersionSelectorManager.ResetCache();
     return(Task.CompletedTask);
 }
Ejemplo n.º 12
0
 public async Task SetSelectorStrategy(int ifaceId, VersionSelectorStrategy strategy)
 {
     this.State.VersionSelectorStrategies[ifaceId] = strategy;
     await this.WriteStateAsync();
 }
Ejemplo n.º 13
0
 public async Task SetSelectorStrategy(VersionSelectorStrategy strategy)
 {
     this.State.SelectorOverride = strategy;
     await this.WriteStateAsync();
 }