Exemplo n.º 1
0
		public FileNodeSocketProxy GetProxy(URL url)
		{
			cacheLock.EnterUpgradeableReadLock();
			try
			{
				FileNodeSocketProxy node;
				cache.TryGetValue(url, out node);
				if (node == null)
				{
					cacheLock.EnterWriteLock();
					try
					{
						node = new FileNodeSocketProxy(url);
						cache.Add(url, node);
					}
					finally
					{
						cacheLock.ExitWriteLock();
					}
					return node;
				}
				return node;
			}
			finally
			{
				cacheLock.ExitUpgradeableReadLock();
			}
		}
Exemplo n.º 2
0
 public FileNodeSocketProxy GetProxy(URL url)
 {
     cacheLock.EnterUpgradeableReadLock();
     try
     {
         FileNodeSocketProxy node;
         cache.TryGetValue(url, out node);
         if (node == null)
         {
             cacheLock.EnterWriteLock();
             try
             {
                 node = new FileNodeSocketProxy(url);
                 cache.Add(url, node);
             }
             finally
             {
                 cacheLock.ExitWriteLock();
             }
             return(node);
         }
         return(node);
     }
     finally
     {
         cacheLock.ExitUpgradeableReadLock();
     }
 }