protected internal virtual void ReturnFreeClient(INetworkFileSystemClient client, bool forBinary) { TimedReferenceDictionary <INetworkFileSystemClient, INetworkFileSystemClient> cache; if (forBinary) { cache = this.freeClientsForBinaryAccess; } else { cache = this.freeClients; } if (!client.Connected) { lock (cache) { cache.Clear(); } return; } lock (cache) { if (client.Connected) { if (!cache.ContainsKey(client)) { cache[client] = client; } } } }
protected internal virtual void ReturnFreeClient(INetworkFileSystemClient client, bool forBinary) { TimedReferenceDictionary<INetworkFileSystemClient, INetworkFileSystemClient> cache; if (forBinary) { cache = this.freeClientsForBinaryAccess; } else { cache = this.freeClients; } if (!client.Connected) { lock (cache) { cache.Clear(); } return; } lock (cache) { if (client.Connected) { if (!cache.ContainsKey(client)) { cache[client] = client; } } } }
protected internal FreeClientContext(NetworkFileSystem fileSystem, INetworkFileSystemClient client, bool forBinary) { this.forBinary = forBinary; this.fileSystem = fileSystem; this.NetworkFileSystemClient = client; }