public ActivationDataActivatorProvider( GrainClassMap grainClassMap, IServiceProvider serviceProvider, PlacementStrategyResolver placementStrategyResolver, IActivationCollector activationCollector, IClusterManifestProvider clusterManifestProvider, IOptions <SiloMessagingOptions> messagingOptions, IOptions <GrainCollectionOptions> collectionOptions, ILoggerFactory loggerFactory, GrainReferenceActivator grainReferenceActivator, GrainTypeComponentsResolver sharedComponentsResolver) { _sharedComponentsResolver = sharedComponentsResolver; _grainClassMap = grainClassMap; _serviceProvider = serviceProvider; _placementStrategyResolver = placementStrategyResolver; _activationCollector = activationCollector; _siloManifest = clusterManifestProvider.LocalGrainManifest; _collectionOptions = collectionOptions.Value; _messagingOptions = messagingOptions; _maxWarningRequestProcessingTime = messagingOptions.Value.ResponseTimeout.Multiply(5); _maxRequestProcessingTime = messagingOptions.Value.MaxRequestProcessingTime; _loggerFactory = loggerFactory; _grainReferenceActivator = grainReferenceActivator; }
public ClusterManifestSystemTarget( IClusterManifestProvider clusterManifestProvider, ILocalSiloDetails siloDetails, ILoggerFactory loggerFactory) : base(Constants.ManifestProviderType, siloDetails.SiloAddress, loggerFactory) { _siloManifest = clusterManifestProvider.LocalGrainManifest; _clusterManifestProvider = clusterManifestProvider; }
public ManagementGrain( IInternalGrainFactory internalGrainFactory, ISiloStatusOracle siloStatusOracle, IVersionStore versionStore, ILogger <ManagementGrain> logger, MembershipTableManager membershipTableManager, IClusterManifestProvider clusterManifestProvider) { this.membershipTableManager = membershipTableManager; this.siloManifest = clusterManifestProvider.LocalGrainManifest; this.internalGrainFactory = internalGrainFactory; this.siloStatusOracle = siloStatusOracle; this.versionStore = versionStore; this.logger = logger; }
private static Dictionary <GrainInterfaceType, ushort> BuildLocalVersionMap(GrainManifest manifest) { var result = new Dictionary <GrainInterfaceType, ushort>(); foreach (var grainInterface in manifest.Interfaces) { var id = grainInterface.Key; if (!grainInterface.Value.Properties.TryGetValue(WellKnownGrainInterfaceProperties.Version, out var versionString) || !ushort.TryParse(versionString, out var version)) { version = 0; } result[id] = version; } return(result); }