Ejemplo n.º 1
0
        /// <nodoc />
        internal RedisGlobalStore(
            IClock clock,
            RedisContentLocationStoreConfiguration configuration,
            RedisDatabaseAdapter primaryRedisDb,
            RedisDatabaseAdapter secondaryRedisDb,
            RedisDatabaseAdapter primaryRedisBlobDb,
            RedisDatabaseAdapter secondaryRedisBlobDb,
            IMasterElectionMechanism masterElectionMechanism)
        {
            Contract.Requires(configuration.CentralStore != null);

            _clock = clock;
            Configuration = configuration;
            RaidedRedis = new RaidedRedisDatabase(Tracer, primaryRedisDb, secondaryRedisDb);

            var checkpointKeyBase = configuration.CentralStore.CentralStateKeyBase;
            _clusterStateKey = new ReplicatedRedisHashKey(checkpointKeyBase + ".ClusterState", this, _clock, RaidedRedis);

            MemoizationAdapter = new RedisMemoizationAdapter(RaidedRedis, configuration.Memoization);

            PrimaryBlobAdapter = new RedisBlobAdapter(primaryRedisBlobDb, _clock, Configuration);
            SecondaryBlobAdapter = new RedisBlobAdapter(secondaryRedisBlobDb, _clock, Configuration);

            _masterElectionMechanism = masterElectionMechanism;
        }
Ejemplo n.º 2
0
 public ObservableMasterElectionMechanism(IMasterElectionMechanism inner, IRoleObserver observer)
 {
     _inner    = inner;
     _observer = observer;
     LinkLifetime(inner);
     LinkLifetime(observer);
 }
Ejemplo n.º 3
0
 public GrpcMasterClientFactory(
     IClientAccessor <MachineLocation, T> clientAccessor,
     IMasterElectionMechanism masterElectionMechanism)
 {
     _masterElectionMechanism = masterElectionMechanism;
     _clientAccessor          = clientAccessor;
     LinkLifetime(clientAccessor);
 }