public BitTorrentDownloader(string peerId, IBencodeParser bencodeParser, IHttpClientHelper httpClientHelper, ITcpSocketHelper tcpSocketHelper, ITorrentFactory torrentFactory, ITrackerResponseFactory trackerResponseFactory, IPeerEventDataFactory peerEventDataFactory) { _peerId = peerId; _bencodeParser = bencodeParser; _httpClientHelper = httpClientHelper; _tcpSocketHelper = tcpSocketHelper; _torrentFactory = torrentFactory; _trackerResponseFactory = trackerResponseFactory; _peerEventDataFactory = peerEventDataFactory; }
public Tracker(IHttpClientHelper httpClient, IBencodeParser bencodeParser, ITrackerResponseFactory trackerResponseFactory, string peerId, int port) { if (peerId?.Length != Constants.PeerIdLength) { throw new ArgumentException($"Peer Id must be {Constants.PeerIdLength} characters"); } if (port < Constants.MinPortNumber || port > Constants.MaxPortNumber) { throw new ArgumentException($"Port must be in range [{Constants.MinPortNumber}, {Constants.MaxPortNumber}]"); } BencodeParser = bencodeParser; HttpClient = httpClient; TrackerResponseFactory = trackerResponseFactory; PeerId = peerId; Port = port; }