Пример #1
0
        // ============================================
        // PUBLIC Methods
        // ============================================
        /// Add Peer's File Info to his list
        public void Add(PeerSocket peer, FileInfo fileInfo)
        {
            // Add FileInfo into Peer's ArrayList
            ArrayList fileList = GetPeerFileList(peer);
            fileList.Add(fileInfo);
            UpdatePeerFileList(peer, fileList);

            // Add Disk Path
            this.diskPaths.Add(fileInfo.MyDiskName, fileInfo);
        }
Пример #2
0
 /// Search File into List
 public FileInfo Search(PeerSocket peer, FileInfo fileInfo)
 {
     lock (this.data) {
         if (this.data.ContainsKey(peer) == true) {
             ArrayList fileList = (ArrayList) this.data[peer];
             int index = fileList.BinarySearch(fileInfo);
             if (index >= 0) return((FileInfo) fileList[index]);
         }
     }
     return(null);
 }
Пример #3
0
        /// Remove Peer's File Info from his list
        public void Remove(PeerSocket peer, FileInfo fileInfo)
        {
            // Remove Peer's FileInfo from ArrayList
            ArrayList fileList = (ArrayList) this.data[peer];
            if (fileList != null) fileList.Remove(fileInfo);
            UpdatePeerFileList(peer, fileList);

            // Remove Disk Path
            this.diskPaths.Remove(fileInfo.MyDiskName);
        }