Beispiel #1
0
        public OutsideRuntimeClient(
            ILoggerFactory loggerFactory,
            IOptions <ClientMessagingOptions> clientMessagingOptions,
            IOptions <TypeManagementOptions> typeManagementOptions,
            IOptions <StatisticsOptions> statisticsOptions,
            ApplicationRequestsStatisticsGroup appRequestStatistics,
            StageAnalysisStatisticsGroup schedulerStageStatistics,
            ClientStatisticsManager clientStatisticsManager,
            MessagingTrace messagingTrace)
        {
            this.loggerFactory            = loggerFactory;
            this.statisticsOptions        = statisticsOptions;
            this.appRequestStatistics     = appRequestStatistics;
            this.schedulerStageStatistics = schedulerStageStatistics;
            this.ClientStatistics         = clientStatisticsManager;
            this.messagingTrace           = messagingTrace;
            this.logger   = loggerFactory.CreateLogger <OutsideRuntimeClient>();
            this.clientId = LegacyGrainId.NewClientId();
            callbacks     = new ConcurrentDictionary <CorrelationId, CallbackData>();
            this.clientMessagingOptions = clientMessagingOptions.Value;
            this.typeMapRefreshInterval = typeManagementOptions.Value.TypeMapRefreshInterval;

            this.sharedCallbackData = new SharedCallbackData(
                msg => this.UnregisterCallback(msg.Id),
                this.loggerFactory.CreateLogger <CallbackData>(),
                this.clientMessagingOptions,
                this.appRequestStatistics,
                this.clientMessagingOptions.ResponseTimeout);
        }
Beispiel #2
0
        public void GrainReference_Test1()
        {
            Guid           guid           = Guid.NewGuid();
            GrainId        regularGrainId = LegacyGrainId.GetGrainIdForTesting(guid);
            GrainReference grainRef       = this.environment.InternalGrainFactory.GetGrain(regularGrainId);

            TestGrainReference(grainRef);

            grainRef = GrainReference.FromGrainId(regularGrainId, null, "generic");
            TestGrainReference(grainRef);

            GrainId systemTragetGrainId = LegacyGrainId.NewSystemTargetGrainIdByTypeCode(2);

            grainRef = GrainReference.FromGrainId(systemTragetGrainId, null, null, SiloAddressUtils.NewLocalSiloAddress(1));
            this.environment.GrainFactory.BindGrainReference(grainRef);
            TestGrainReference(grainRef);

            GrainId observerGrainId = LegacyGrainId.NewClientId();

            grainRef = GrainReference.NewObserverGrainReference(observerGrainId, GuidId.GetNewGuidId(), this.environment.RuntimeClient.GrainReferenceRuntime);
            this.environment.GrainFactory.BindGrainReference(grainRef);
            TestGrainReference(grainRef);
        }