private void StartPeerConnectionManager() { peerConnectionManager = new PeerConnectionManager(0,localIpAddress,new ProgressChangedDelegate(this.peerConnectionManager_ProgressChangedEvent)); peerConnectionManager.CancelTransferEvent += new CancelTransfer(peerConnectionManager_CancelTransferEvent); peerConnectionManager.ProgressChangedEvent += new ProgressChanged(peerConnectionManager_ProgressChangedEvent); peerConnectionManager.RequestFileEvent += new RequestFile(peerConnectionManager_RequestFileEvent); peerConnectionManager.RequestFileListEvent += new RequestFileList(peerConnectionManager_RequestFileListEvent); peerConnectionManager.TransferEndedEvent += new TransferEnded(peerConnectionManager_TransferEndedEvent); listenThread = new Thread(new ParameterizedThreadStart(StartPeer)); listenThread.Start(); }
private void StopPeerConnectionManager() { if (peerConnectionManager == null) return; startedDownloads.Clear(); bool b = peerConnectionManager.stopDelegate.Invoke(); this.peerConnectionManager.CancelTransferEvent -= peerConnectionManager_CancelTransferEvent; this.peerConnectionManager.ProgressChangedEvent -= peerConnectionManager_ProgressChangedEvent; this.peerConnectionManager.RequestFileEvent -= peerConnectionManager_RequestFileEvent; this.peerConnectionManager.RequestFileListEvent -= peerConnectionManager_RequestFileListEvent; this.peerConnectionManager.TransferEndedEvent -= peerConnectionManager_TransferEndedEvent; this.peerConnectionManager = null; try { listenThread.Abort(); } catch (ThreadAbortException ex) { } }
public void InitialiseFileTransferManager(IFileTransferView newFileTransferView, PeerConnectionManager peerConnectionManager, IDictionary<string,IDictionary<int,string>> downloadedFileLists) { this._fileTransferView = newFileTransferView; this._peerConnectionManager = peerConnectionManager; this._doawnloadedFileLists = downloadedFileLists; }