Пример #1
0
        public HostedClient(
            IRuntimeClient runtimeClient,
            ClientObserverRegistrar clientObserverRegistrar,
            ILocalSiloDetails siloDetails,
            ILogger <HostedClient> logger,
            IGrainReferenceRuntime grainReferenceRuntime,
            IInternalGrainFactory grainFactory,
            InvokableObjectManager invokableObjectManager,
            ISiloMessageCenter messageCenter)
        {
            this.runtimeClient           = runtimeClient;
            this.clientObserverRegistrar = clientObserverRegistrar;
            this.grainReferenceRuntime   = grainReferenceRuntime;
            this.grainFactory            = grainFactory;
            this.invokableObjects        = invokableObjectManager;
            this.siloMessageCenter       = messageCenter;
            this.logger = logger;

            this.ClientAddress = ActivationAddress.NewActivationAddress(siloDetails.SiloAddress, GrainId.NewClientId());
        }
Пример #2
0
        private void CreateSystemTargets()
        {
            logger.Verbose("Creating System Targets for this silo.");

            logger.Verbose("Creating {0} System Target", "SiloControl");
            RegisterSystemTarget(new SiloControl(this));

            logger.Verbose("Creating {0} System Target", "DeploymentLoadPublisher");
            RegisterSystemTarget(DeploymentLoadPublisher.Instance);

            logger.Verbose("Creating {0} System Target", "RemGrainDirectory + CacheValidator");
            RegisterSystemTarget(LocalGrainDirectory.RemGrainDirectory);
            RegisterSystemTarget(LocalGrainDirectory.CacheValidator);

            logger.Verbose("Creating {0} System Target", "ClientObserverRegistrar + TypeManager");
            clientRegistrar = new ClientObserverRegistrar(SiloAddress, LocalMessageCenter, LocalGrainDirectory, LocalScheduler, OrleansConfig);
            RegisterSystemTarget(clientRegistrar);
            RegisterSystemTarget(new TypeManager(SiloAddress, LocalTypeManager));

            logger.Verbose("Creating {0} System Target", "MembershipOracle");
            RegisterSystemTarget((SystemTarget)membershipOracle);

            logger.Verbose("Finished creating System Targets for this silo.");
        }
Пример #3
0
        private void CreateSystemTargets()
        {
            logger.Verbose("Creating System Targets for this silo.");

            logger.Verbose("Creating {0} System Target", "SiloControl");
            RegisterSystemTarget(new SiloControl(this));

            logger.Verbose("Creating {0} System Target", "StreamProviderUpdateAgent");
            RegisterSystemTarget(new StreamProviderManagerAgent(this, allSiloProviders));

            logger.Verbose("Creating {0} System Target", "DeploymentLoadPublisher");
            RegisterSystemTarget(DeploymentLoadPublisher.Instance);

            logger.Verbose("Creating {0} System Target", "RemoteGrainDirectory + CacheValidator");
            RegisterSystemTarget(LocalGrainDirectory.RemoteGrainDirectory);
            RegisterSystemTarget(LocalGrainDirectory.CacheValidator);

            logger.Verbose("Creating {0} System Target", "RemoteClusterGrainDirectory");
            RegisterSystemTarget(LocalGrainDirectory.RemoteClusterGrainDirectory);

            logger.Verbose("Creating {0} System Target", "ClientObserverRegistrar + TypeManager");
            clientRegistrar = new ClientObserverRegistrar(SiloAddress, LocalGrainDirectory, LocalScheduler, OrleansConfig);
            RegisterSystemTarget(clientRegistrar);
            RegisterSystemTarget(new TypeManager(SiloAddress, LocalTypeManager));

            logger.Verbose("Creating {0} System Target", "MembershipOracle");
            RegisterSystemTarget((SystemTarget)membershipOracle);

            if (multiClusterOracle != null)
            {
                logger.Verbose("Creating {0} System Target", "MultiClusterOracle");
                RegisterSystemTarget((SystemTarget)multiClusterOracle);
            }

            logger.Verbose("Finished creating System Targets for this silo.");
        }