public void AddDownloadingClient(ClientFileTransporter <T> cl) { lock (downloadingClients) { downloadingClients.Add(cl); Monitor.Pulse(downloadingClients); } }
public ClientFileTransporter <T> GetClientTransporter(IClient client) { ClientFileTransporter <T> ret; if (!clientFIleTransporterMap.TryGetValue(client, out ret)) { ret = new ClientFileTransporter <T>(this); clientFIleTransporterMap[client] = ret; ret.startTransporter = fileStartTransporter.GetTransporterForClient(client); ret.partTransporter = filePartTransporter.GetTransporterForClient(client); ret.endTransporter = fileCompleteTransporter.GetTransporterForClient(client); //ret.StartReceiving(); //TODO: only suppport sending ATM } return(ret); }