public BitTorrentApplicationProtocol( ILogger <BitTorrentApplicationProtocol> logger, PeerId localPeerId, Metainfo metainfo, IApplicationProtocolPeerInitiator peerInitiator, IEnumerable <IModule> modules, IPieceDataHandler dataHandler) { _logger = logger; _localPeerId = localPeerId; _peerInitiator = peerInitiator; _modules = modules.ToList().AsReadOnly(); DataHandler = dataHandler; dataHandler.PieceCompleted += PieceCompleted; dataHandler.PieceCorrupted += PieceCorrupted; Metainfo = metainfo; _blockRequests = new BlockRequestManager(); }
public BitTorrentApplicationProtocol( PeerId localPeerId, Metainfo metainfo, IApplicationProtocolPeerInitiator <PeerConnection, TConnectionContext, PeerConnectionArgs> peerInitiator, Func <IPeerMessageHandler, IPeerMessageHandler> messageHandlerFactory, IModuleManager modules, IPieceDataHandler dataHandler) { this.localPeerId = localPeerId; this.peerInitiator = peerInitiator; this.messageHandlerFactory = messageHandlerFactory; this.modules = modules; DataHandler = dataHandler; dataHandler.PieceCompleted += PieceCompleted; dataHandler.PieceCorrupted += PieceCorrupted; Metainfo = metainfo; blockRequests = new BlockRequestManager(); }