Beispiel #1
0
		public EtagSynchronizer(EtagSynchronizerType type, ITransactionalStorage transactionalStorage)
		{
			this.type = type;
			this.transactionalStorage = transactionalStorage;

			LoadSynchronizationState();
		}
Beispiel #2
0
        public EtagSynchronizer(EtagSynchronizerType type, ITransactionalStorage transactionalStorage)
        {
            this.type = type;
            this.transactionalStorage = transactionalStorage;

            LoadSynchronizationState();
        }
		public EtagSynchronizer GetSynchronizer(EtagSynchronizerType type)
		{
			EtagSynchronizer value;
			if (etagSynchronizers.TryGetValue(type, out value))
				return value;
			lock (this)
			{
				if (etagSynchronizers.TryGetValue(type, out value))
					return value;
		
				value = new EtagSynchronizer(type, transactionalStorage);
				etagSynchronizers = new Dictionary<EtagSynchronizerType, EtagSynchronizer>(etagSynchronizers)
				{
					{type, value}
				};
				return value;
			}
		}
Beispiel #4
0
        public EtagSynchronizer GetSynchronizer(EtagSynchronizerType type)
        {
            EtagSynchronizer value;

            if (etagSynchronizers.TryGetValue(type, out value))
            {
                return(value);
            }
            lock (this)
            {
                if (etagSynchronizers.TryGetValue(type, out value))
                {
                    return(value);
                }

                value             = new EtagSynchronizer(type, transactionalStorage);
                etagSynchronizers = new Dictionary <EtagSynchronizerType, EtagSynchronizer>(etagSynchronizers)
                {
                    { type, value }
                };
                return(value);
            }
        }