public TorrentClient( ILogger <TorrentClient> logger, PeerId localPeerId, IMainLoop mainLoop, ITransportProtocol transport, ITrackerClientFactory trackerClientFactory, IApplicationProtocolPeerInitiator peerInitiator, IServiceProvider services) { _logger = logger; _downloads = new Dictionary <Sha1Hash, TorrentDownload>(); _mainLoop = mainLoop; _mainLoop.Start(); _trackerClientFactory = trackerClientFactory; _services = services; _updateStatisticsTimer = new Timer(UpdateStatistics, null, TimeSpan.Zero, TimeSpan.FromSeconds(10)); _peerInitiator = peerInitiator; LocalPeerId = localPeerId; Transport = transport; transport.AcceptConnectionHandler += _peerInitiator.AcceptIncomingConnection; Transport.Start(); }
public void Setup() { _mainLoop = new MainLoop(); _mainLoop.Start(); }