Beispiel #1
0
 public SiloGossipWorker(MultiClusterOracle oracle, string cluster, IInternalGrainFactory grainFactory)
     : base(oracle)
 {
     this.Cluster      = cluster;
     this.Silo         = null;
     this.grainFactory = grainFactory;
 }
Beispiel #2
0
            public bool KnowsMe; // used for optimizing pushes

            public SiloGossipWorker(MultiClusterOracle oracle, SiloAddress Silo, IInternalGrainFactory grainFactory)
                : base(oracle)
            {
                this.Cluster      = null; // only local cluster
                this.Silo         = Silo;
                this.grainFactory = grainFactory;
            }
        internal async Task <IMultiClusterOracle> CreateGossipOracle(Silo silo)
        {
            if (!silo.GlobalConfig.HasMultiClusterNetwork)
            {
                logger.Info("Skip multicluster oracle creation (no multicluster network configured)");
                return(null);
            }

            logger.Info("Creating multicluster oracle...");

            var channels = await GetGossipChannels(silo);

            if (channels.Count == 0)
            {
                logger.Warn(ErrorCode.MultiClusterNetwork_NoChannelsConfigured, "No gossip channels are configured.");
            }

            var gossipOracle = new MultiClusterOracle(silo.SiloAddress, channels, silo.GlobalConfig);

            logger.Info("Created multicluster oracle.");

            return(gossipOracle);
        }
Beispiel #4
0
 public ChannelGossipWorker(MultiClusterOracle oracle, IGossipChannel channel)
     : base(oracle)
 {
     this.channel = channel;
 }
Beispiel #5
0
 public GossipWorker(MultiClusterOracle oracle)
 {
     this.oracle = oracle;
 }
Beispiel #6
0
 public SiloGossipWorker(MultiClusterOracle oracle, string cluster)
     : base(oracle)
 {
     this.Cluster = cluster;
     this.Silo    = null;
 }
Beispiel #7
0
            public bool KnowsMe; // used for optimizing pushes

            public SiloGossipWorker(MultiClusterOracle oracle, SiloAddress Silo)
                : base(oracle)
            {
                this.Cluster = null; // only local cluster
                this.Silo    = Silo;
            }