Example #1
0
 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;
 }
Example #3
0
 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);
        }