public SimpleTorrentManager(ITrackable trackable, IPeerComparer comparer, TrackerServer tracker) { Comparer = comparer; Trackable = trackable; Tracker = tracker; Peers = new Dictionary <object, Peer> (); PeersList = new List <Peer> (); Random = new Random(); }
public SimpleTorrentManager(ITrackable trackable, IPeerComparer comparer, Tracker tracker) { this.comparer = comparer; this.trackable = trackable; this.tracker = tracker; complete = new BEncodedNumber(0); downloaded = new BEncodedNumber(0); incomplete = new BEncodedNumber(0); peers = new Dictionary<object, Peer>(); random = new Random(); }
public SimpleTorrentManager(ITrackable trackable, IPeerComparer comparer, Tracker tracker) { this.comparer = comparer; this.trackable = trackable; this.tracker = tracker; complete = new BEncodedNumber(0); downloaded = new BEncodedNumber(0); incomplete = new BEncodedNumber(0); peers = new Dictionary <object, Peer>(); random = new Random(); }
public SimpleTorrentManager(ITrackable trackable, IPeerComparer comparer, Tracker tracker) { _comparer = comparer; _trackable = trackable; _tracker = tracker; _complete = new BEncodedNumber(0); _downloaded = new BEncodedNumber(0); _incomplete = new BEncodedNumber(0); _peers = new Dictionary <object, Peer>(); _random = new Random(); }
public SimpleTorrentManager(ITrackable trackable, IPeerComparer comparer, Tracker tracker) { _comparer = comparer; _trackable = trackable; _tracker = tracker; _complete = new BEncodedNumber(0); _downloaded = new BEncodedNumber(0); _incomplete = new BEncodedNumber(0); _peers = new Dictionary<object, Peer>(); _random = new Random(); }
/// <summary> /// Adds the trackable to the server /// </summary> /// <param name="trackable">The trackable to add</param> /// <param name="comparer">The comparer used to decide whether two peers are the same.</param> /// <returns></returns> public bool Add(ITrackable trackable, IPeerComparer comparer) { CheckDisposed(); if (trackable == null) { throw new ArgumentNullException(nameof(trackable)); } lock (Torrents) { if (Torrents.ContainsKey(trackable.InfoHash)) { return(false); } Torrents.Add(trackable.InfoHash, new SimpleTorrentManager(trackable, comparer, this)); } return(true); }
public bool Add(ITrackable trackable, IPeerComparer comparer) { CheckDisposed(); if (trackable == null) { throw new ArgumentNullException("trackable"); } lock (torrents) { if (torrents.ContainsKey(trackable.InfoHash)) { return(false); } torrents.Add(trackable.InfoHash, new SimpleTorrentManager(trackable, comparer, this)); } Debug.WriteLine(string.Format("Tracking Torrent: {0}", trackable.Name)); return(true); }