summaryrefslogtreecommitdiff
path: root/src/DHTPeerAnnounceStorage.cc
Commit message (Collapse)AuthorAgeFilesLines
* clang-format-12Tatsuhiro Tsujikawa2021-10-301-3/+3
|
* Fix compiler warningTatsuhiro Tsujikawa2019-09-151-1/+1
|
* make clang-format using clang-format-3.6Tatsuhiro Tsujikawa2015-12-271-22/+24
|
* Replace timer facility with chrono libTatsuhiro Tsujikawa2015-06-091-15/+8
|
* Use std::make_shared and make_unique where possible, part 1Tatsuhiro Tsujikawa2014-09-131-3/+3
|
* More auto-converts by cpp11-migrateNils Maier2013-09-201-3/+3
|
* Convert to autos and ranged loopsNils Maier2013-08-211-11/+8
|
* Use std::unique_ptr in DHTRegistryTatsuhiro Tsujikawa2013-07-021-5/+6
|
* Require -std=c++11 and use std::shared_ptr instead of SharedHandleTatsuhiro Tsujikawa2013-06-221-11/+11
|
* Removed trailing spacesTatsuhiro Tsujikawa2012-10-011-1/+1
|
* Use std::set instead of std::deque if the elements are sorted andTatsuhiro Tsujikawa2012-03-231-21/+17
| | | | insertions and deletions are frequent.
* wallclock is now retrieved using global::wallclock() call.Tatsuhiro Tsujikawa2011-08-101-1/+1
| | | | | This is necessary to avoid global variable initialization order problem.
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-21/+12
| | | | | | | Rewritten Logger interface. Logger now writes source file name and line number in log file.
* 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added '// namespace' after end of unnamed namespace. * src/AbstractCommand.cc * src/AnnounceList.cc * src/BtSeederStateChoke.cc * src/ConsoleStatCalc.cc * src/CookieStorage.cc * src/DHTBucket.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceStorage.cc * src/DHTTaskQueueImpl.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultBtRequestFactory.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FeedbackURISelector.cc * src/FileEntry.cc * src/GZipEncoder.cc * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV4Impl.cc * src/Metalinker.cc * src/MultiDiskAdaptor.cc * src/Netrc.cc * src/NsCookieParser.cc * src/OptionParser.cc * src/PieceStatMan.cc * src/RarestPieceSelector.cc * src/RequestGroupMan.cc * src/SegmentMan.cc * src/ServerStatMan.cc * src/SocketCore.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcMethodImpl.cc * src/cookie_helper.cc * src/download_helper.cc * src/messageDigest.cc * src/util.cc
* 2010-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-08-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enclosed classes and structs declared in *.cc files unnamed namespace. Added static keyword for function template in *.cc files(TODO we should use unnamed namespace instead of static). * src/AbstractCommand.cc * src/AnnounceList.cc * src/BtLeecherStateChoke.cc * src/BtLeecherStateChoke.h * src/BtSeederStateChoke.cc * src/BtSeederStateChoke.h * src/ConsoleStatCalc.cc * src/ContentTypeRequestGroupCriteria.cc * src/CookieStorage.cc * src/DHTBucket.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceStorage.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultBtRequestFactory.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/ExpatMetalinkProcessor.cc * src/ExpatXmlRpcRequestProcessor.cc * src/FeedbackURISelector.cc * src/FileEntry.cc * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/Metalinker.cc * src/MultiDiskAdaptor.cc * src/Netrc.cc * src/OptionParser.cc * src/PieceStatMan.cc * src/RarestPieceSelector.cc * src/RequestGroupMan.cc * src/SegmentMan.cc * src/ServerStatMan.cc * src/XML2SAXMetalinkProcessor.cc * src/Xml2XmlRpcRequestProcessor.cc * src/XmlRpcResponse.cc * src/a2algo.h * src/download_helper.cc
* 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-211-27/+27
| | | | | | | Changed naming standards for class member variable: now it looks like var_ instead of _var.
* 2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added Time global::wallclock to cache "current time" to reduce the call gettimeofday(). Global variables are now in namespace global. * src/AbstractCommand.cc * src/ActivePeerConnectionCommand.cc * src/AdaptiveURISelector.cc * src/BtLeecherStateChoke.cc * src/BtLeecherStateChoke.h * src/BtSeederStateChoke.cc * src/BtSeederStateChoke.h * src/BtStopDownloadCommand.cc * src/ConsoleStatCalc.cc * src/DHTBucket.cc * src/DHTGetPeersCommand.cc * src/DHTMessageTrackerEntry.cc * src/DHTNode.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceStorage.cc * src/DHTSetup.cc * src/DefaultBtAnnounce.cc * src/DefaultBtInteractive.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/DownloadCommand.cc * src/DownloadEngine.cc * src/FileEntry.cc * src/HttpServerBodyCommand.cc * src/HttpServerCommand.cc * src/HttpServerResponseCommand.cc * src/LpdMessageDispatcher.cc * src/MultiUrlRequestInfo.cc * src/Peer.cc * src/Peer.h * src/PeerAbstractCommand.cc * src/PeerStat.h * src/RequestSlot.cc * src/RequestSlot.h * src/SegmentMan.cc * src/ServerStatMan.cc * src/SleepCommand.cc * src/SpeedCalc.cc * src/SpeedCalc.h * src/TimeA2.cc * src/TimeA2.h * src/TimeBasedCommand.cc * src/TimeSeedCriteria.h * src/UTMetadataRequestTracker.h * src/UTPexExtensionMessage.cc * src/wallclock.h
* 2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-281-2/+4
| | | | | | | | Avoid to calculate end() iterator in each loop. std::deque is particularly slow. Make sure that recalculate end iterator if element is erased during loop.
* 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-281-1/+1
| | | | | | | Use vector instead of deque for containers which is used for mostly read-only purpose.
* 2010-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-091-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrapped logger->debug(...) with if(logger->debug()) { ... } * src/AbstractCommand.cc * src/AdaptiveURISelector.cc * src/BtPieceMessage.cc * src/BtPortMessage.cc * src/CreateRequestCommand.cc * src/DHTAbstractNodeLookupTask.cc * src/DHTBucket.cc * src/DHTGetPeersCommand.cc * src/DHTMessageDispatcherImpl.cc * src/DHTMessageFactoryImpl.cc * src/DHTMessageTracker.cc * src/DHTPeerAnnounceStorage.cc * src/DHTRoutingTable.cc * src/DHTSetup.cc * src/DefaultBtAnnounce.cc * src/DefaultBtInteractive.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultBtMessageReceiver.cc * src/DefaultBtProgressInfoFile.cc * src/DefaultBtRequestFactory.cc * src/DefaultPeerStorage.cc * src/DefaultPieceStorage.cc * src/DownloadCommand.cc * src/DownloadEngine.cc * src/EpollEventPoll.cc * src/FileAllocationCommand.cc * src/FileEntry.cc * src/FtpNegotiationCommand.cc * src/HandshakeExtensionMessage.cc * src/HttpListenCommand.cc * src/HttpServer.cc * src/HttpSkipResponseCommand.cc * src/IteratableChunkChecksumValidator.cc * src/Logger.h * src/MSEHandshake.cc * src/MetalinkPostDownloadHandler.cc * src/MultiDiskAdaptor.cc * src/PeerAbstractCommand.cc * src/PeerConnection.cc * src/PeerListenCommand.cc * src/PeerReceiveHandshakeCommand.cc * src/RequestGroup.cc * src/RequestGroupMan.cc * src/SegmentMan.cc * src/SelectEventPoll.cc * src/ServerStat.cc * src/SimpleBtMessage.cc * src/SocketCore.cc * src/TrackerWatcherCommand.cc * src/UTMetadataDataExtensionMessage.cc * src/UTMetadataRequestFactory.cc * src/UTMetadataRequestTracker.cc * src/XmlRpcMethod.cc
* 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-051-10/+10
| | | | | | | | | Untabify. Fixed one line in copyright which is longer than 80 columns. * src * test
* 2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-10-311-29/+0
| | | | | | | | | | | | | | | | Removed peerStorage from DHTPeerAnnounceEntry. It is unlikely to receive get_peers request for torrent which the client is now downloading. * src/BtSetup.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceEntry.h * src/DHTPeerAnnounceStorage.cc * src/DHTPeerAnnounceStorage.h * src/RequestGroup.cc * test/DHTPeerAnnounceEntryTest.cc * test/DHTPeerAnnounceStorageTest.cc
* 2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-10-221-1/+1
| | | | | | | | | | Renamed Util.{cc,h} as util.{cc,h} * src/Util.cc * src/Util.h * src/util.cc * src/util.h
* 2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-10-221-3/+3
| | | | | | | | Moved static functions in Util class to namespace util. * src * test
* 2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-11-031-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made BtRegistry non-static object. Now DownloadEngine has a reference to its object. * src/AbstractBtMessage.cc * src/ActivePeerConnectionCommand.cc * src/ActivePeerConnectionCommand.h * src/BtContextAwareCommand.cc * src/BtContextAwareCommand.h * src/BtExtendedMessage.cc * src/BtExtendedMessage.h * src/BtInterestedMessage.cc * src/BtInterestedMessage.h * src/BtNotInterestedMessage.cc * src/BtNotInterestedMessage.h * src/BtRegistry.cc * src/BtRegistry.h * src/BtSeederStateChoke.cc * src/BtSetup.cc * src/DHTGetPeersCommand.cc * src/DHTGetPeersCommand.h * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceEntry.h * src/DHTPeerAnnounceStorage.cc * src/DHTPeerAnnounceStorage.h * src/DHTPeerLookupTask.cc * src/DHTPeerLookupTask.h * src/DHTSetup.cc * src/DHTSetup.h * src/DHTTaskFactory.h * src/DHTTaskFactoryImpl.cc * src/DHTTaskFactoryImpl.h * src/DefaultBtAnnounce.cc * src/DefaultBtInteractive.cc * src/DefaultBtInteractive.h * src/DefaultBtMessageDispatcher.cc * src/DefaultBtMessageDispatcher.h * src/DefaultBtMessageFactory.cc * src/DefaultBtMessageFactory.h * src/DefaultBtMessageReceiver.cc * src/DefaultBtProgressInfoFile.cc * src/DefaultBtProgressInfoFile.h * src/DefaultBtRequestFactory.cc * src/DefaultBtRequestFactory.h * src/DefaultExtensionMessageFactory.cc * src/DefaultExtensionMessageFactory.h * src/DefaultPeerStorage.cc * src/DefaultPeerStorage.h * src/DownloadEngine.cc * src/DownloadEngine.h * src/InitiatorMSEHandshakeCommand.cc * src/InitiatorMSEHandshakeCommand.h * src/MSEHandshake.cc * src/MSEHandshake.h * src/Makefile.am * src/Makefile.in * src/PeerChokeCommand.cc * src/PeerChokeCommand.h * src/PeerInitiateConnectionCommand.cc * src/PeerInitiateConnectionCommand.h * src/PeerInteractionCommand.cc * src/PeerInteractionCommand.h * src/PeerObject.h * src/PeerReceiveHandshakeCommand.cc * src/PeerReceiveHandshakeCommand.h * src/ReceiverMSEHandshakeCommand.cc * src/RequestGroup.cc * src/RequestGroup.h * src/RequestGroupMan.cc * src/RequestGroupMan.h * src/SeedCheckCommand.cc * src/SeedCheckCommand.h * src/ShareRatioSeedCriteria.h * src/SimpleBtMessage.cc * src/TrackerWatcherCommand.cc * src/TrackerWatcherCommand.h * src/UTPexExtensionMessage.cc * src/UTPexExtensionMessage.h * test/BtCancelMessageTest.cc * test/BtChokeMessageTest.cc * test/BtExtendedMessageTest.cc * test/BtInterestedMessageTest.cc * test/BtNotInterestedMessageTest.cc * test/BtPieceMessageTest.cc * test/BtPortMessageTest.cc * test/BtRegistryTest.cc * test/BtRejectMessageTest.cc * test/BtRequestMessageTest.cc * test/DHTPeerAnnounceEntryTest.cc * test/DHTPeerAnnounceStorageTest.cc * test/DefaultBtMessageDispatcherTest.cc * test/DefaultBtMessageFactoryTest.cc * test/DefaultBtProgressInfoFileTest.cc * test/DefaultBtRequestFactoryTest.cc * test/DefaultExtensionMessageFactoryTest.cc * test/MSEHandshakeTest.cc * test/MockDHTTaskFactory.h * test/ShareRatioSeedCriteriaTest.cc * test/UTPexExtensionMessageTest.cc
* 2008-10-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-10-011-3/+4
| | | | | | | | | | | | | | | | | Replaced '%zu' with '%lu' since mingw32 doesn't recognize '%zu'. * src/BtPieceMessage.cc * src/DHTPeerAnnounceStorage.cc * src/DefaultPieceStorage.cc * src/DownloadCommand.cc * src/DownloadEngine.cc * src/FtpConnection.cc * src/PeerConnection.cc * src/PeerMessageUtil.cc * src/RequestGroup.cc * src/RequestGroupMan.cc * src/SimpleBtMessage.cc
* 2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-05-171-36/+46
| | | | | | | | | Sorted DHTPeerAnnounceEntry in a ascending order of info hash and used lower_bound to process them rather than linear search. * src/DHTPeerAnnounceStorage.cc
* 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-05-111-4/+4
| | | | | | | | | | | | | | | | Changed method signature: DHTPeerAnnounceStorage::getPeers, DHTPeerAnnounceEntry::getPeers * src/DHTGetPeersMessage.cc * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceEntry.h * src/DHTPeerAnnounceStorage.cc * src/DHTPeerAnnounceStorage.h * test/DHTAnnouncePeerMessageTest.cc * test/DHTPeerAnnounceEntryTest.cc * test/DHTPeerAnnounceStorageTest.cc
* 2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-04-201-6/+5
| | | | | | | | | | | | | | | Rewritten SharedHandle. Now copy constructor taking raw pointer has keyword explicit and SharedHandle's default constructor initializes its internal obj to null, old implementation initializes it using obj's default constructor. To assign null, write SharedHandle<T> x(...); x.reset(); TODO: test/SharedHandleTest.cc needs more tests. * src/SharedHandle.h
* 2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-03-111-0/+4
| | | | | | | | | | | | | | | | | | | | Added summary log for peer announce storage. * src/DHTPeerAnnounceStorage.cc (handleTimeout) Removed cast * src/DefaultPeerStorage.cc (addPeer) Log exception message * src/DHTMessageTracker.cc (handleTimeout) Fixed casting * test/HttpRequestTest.cc * test/MetalinkProcessorTest.cc * test/PieceTest.cc * test/MetalinkEntryTest.cc * test/SequenceTest.cc
* 2008-02-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-02-081-17/+23
| | | | | | | | | Removed "using namespace std;" from all sources. Appended std:: prefix to c++ standard classes. Included string.h where mem* function are used.
* 2008-02-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-02-011-0/+165
Added DHT functionality, compatible with mainline. DHT is disabled by default. To enable it, give --enable-dht to aria2c. You may need to specify entry point to DHT network using --dht-entry-point. DHT uses UDP port to listen incoming message. Use --dht-listen-port to specify port number. Make sure that your firewall configuration can pass through UDP traffic to the port. The routing table is saved in $HOME/.aria2/dht.dat. * src/DHT* * src/BNode.{h, cc} * src/PeerInteractionCommand.cc: enable DHT functionality for a particular torrent. * src/Data.cc: Rewritten ctor. * src/OptionHandlerFactory.cc: Added --enable-dht, --dht-listen-port, --dht-entry-point. * src/DefaultBtInteractive.cc: Send port message if dht is enabled. * src/RequestGroup.cc: Initialize DHT functionality. When download ends, remove BtContext from DHTPeerAnnounceStorage. * src/BtPortMessage.{h, cc}: Rewritten. * src/message.h * src/OptionHandlerImpl.cc * src/option_processing.cc: Added --enable-dht, --dht-listen-port, --dht-entry-point. * src/Dictionary.{h, cc} (remove): New function. * src/prefs.h * src/DefaultBtMessageFactory.h * src/BtHandshakeMessage.cc * src/ActivePeerConnectionCommand.cc * src/SocketCore.{h, cc}: Added datagram socket support. * src/DefaultBtMessageFactory.cc * src/BtSetup.cc: Add BtContext to DHTPeerAnnounceStorage here. Create DHT commands. * src/BtMessageFactory.h * src/PeerMessageUtil.{h, cc}