Tatsuhiro Tsujikawa
e3506b04fb
Revert 9eea959
only the parts which affect src/BtPieceMessage.cc
...
This is because we are not sure that peer has a piece just sending off
its block. It should be notified by the peer.
2013-06-13 21:34:08 +09:00
Tatsuhiro Tsujikawa
9eea959455
Improve peer bitfield and piece stat update
...
On HAVE message reception and PIECE message transmission, update peer
bitfield and piece stat only if current peer bitfield indicates it
does not have the piece.
2013-06-12 23:21:18 +09:00
Tatsuhiro Tsujikawa
63b6075c91
Pack Piece message header and body into one chunk
2013-01-14 18:09:40 +09:00
Tatsuhiro Tsujikawa
c893d82867
Removed BtMessage::isSendingProgress()
...
DefaultBtMessageDispatcher::isSendingInProgress() now checks the
number of buffer entry in PeerConnection.
2013-01-11 20:26:31 +09:00
Tatsuhiro Tsujikawa
8ba0d58ee1
Vectorized write for SocketBuffer to avoid small packet
2013-01-11 16:50:04 +09:00
Tatsuhiro Tsujikawa
838949ab85
Append new data to the contagious cache data
...
If we receive small data (e.g., 1 or 2 bytes), cache entry becomes a
headache. To mitigate this problem, we allocate cache buffer at least
4KiB and append the data to the contagious cache data.
2012-12-06 02:23:32 +09:00
Tatsuhiro Tsujikawa
56c498bcbf
Clear write cache on Segment::clear and Piece::clearAllBlock
2012-12-06 00:39:14 +09:00
Tatsuhiro Tsujikawa
f314719618
Added --disk-cache option
...
This option enables disk cache. If SIZE is 0, the disk cache is
disabled. This feature caches the downloaded data in memory, which
grows to at most SIZE bytes. The cache storage is created for aria2
instance and shared by all downloads. The one advantage of the disk
cache is reduce the disk seek time because the data is written in
larger unit and it is reordered by the offset of the file. If the
underlying file is heavily fragmented it is not the case.
2012-12-03 01:39:10 +09:00
Tatsuhiro Tsujikawa
9c1fe4addd
Use array_ptr to remove try block
2012-11-15 22:05:59 +09:00
Tatsuhiro Tsujikawa
b2893f1e31
Get the correct uploaded data size
...
Subtract msgHdrLen_ from writtenLength to get the uploaded data size.
Without this correction, the seeder assumes it has uploaded more data
than it actually has.
2012-11-04 16:49:39 +09:00
Tatsuhiro Tsujikawa
0ecfa19925
Reworked download/upload statistics calculation
...
The old implementation calculates download/upload statistics for a
RequestGroup by summing up all PeerStat objects. For global
statistics, those are summed together. This clearly incurs runtime
penalty and we introduced some kind of caching which updates
statistics every 250ms but it did not work right.
This change removes all these aggregation code, and instead makes
RequestGroup and RequestGroupMan objects hold NetStat object and
download/upload bytes are directly calculated by thier own NetStat.
This is far more simplar than the old way and less runtime penalty and
brings more accuracy.
2012-10-25 23:33:45 +09:00
Tatsuhiro Tsujikawa
3258614033
Removed *Handle typedef
2012-09-28 23:27:46 +09:00
Tatsuhiro Tsujikawa
215d1d3d0b
Made static create function of BtMessage subclass return raw pointer
2012-09-27 23:40:25 +09:00
Tatsuhiro Tsujikawa
c63af24c63
Made BtMessage's NAME const char[]
2012-09-25 23:28:24 +09:00
Tatsuhiro Tsujikawa
860f4dd06a
Use int64_t instead of off_t
...
Using off_t, at least, in DiskAdaptor layer is problematic because
torrent can contain under 2GiB files but total sum of those files may
exceed 2GiB limit, which makes off_t overflow in 32 bit system without
large file support. So we use int64_t in API. We'll check the file
length before download so that it does not exceed max off_t.
2012-07-23 21:42:47 +09:00
Tatsuhiro Tsujikawa
4b03634f36
Use PRId64 for int64_t format specifier
2012-06-25 22:43:33 +09:00
Tatsuhiro Tsujikawa
e816c5eee4
Rewritten PeerConnection::receiveMessage()
...
The old implementation calls at least 2 read(2) (4bytes length and
payload) to receive the message. This change will read as many bytes
as possible in one read(2) call. BtPieceMessage::data_ is now just a
const pointer to the internal buffer of PeerConnection.
2012-06-25 21:35:52 +09:00
Tatsuhiro Tsujikawa
f0bcfa822e
Use int instead of unsigned int where unsigned int is not needed.
2011-12-09 21:39:43 +09:00
Tatsuhiro Tsujikawa
b97a7c8ecf
Use int32_t for begin, length in RangeBtMessage
2011-12-09 21:39:43 +09:00
Tatsuhiro Tsujikawa
d1bb828066
Ignore peer which possibly sent bad data in next few minuts.
...
In aria2, one piece is downloaded from several peers, so when hash
check failed for that piece, it cannot determine which peer(s) sent
bad data. So, we ignore peer who sent last block of data in random
minutes. We use randomized timeout because all peers get waken up at
the almost same time.
2011-12-03 18:12:31 +09:00
Tatsuhiro Tsujikawa
5347efb967
Use fmt instead of using snprintf directly
2011-11-12 19:33:38 +09:00
Tatsuhiro Tsujikawa
2e5d9b056f
Removed strconcat
2011-11-12 18:17:34 +09:00
Tatsuhiro Tsujikawa
310e58bc62
Stored hash value as raw byte string, instead of hex digest.
2011-10-13 21:40:07 +09:00
Tatsuhiro Tsujikawa
44c379eaa8
Do nothing if block has already acquired.
...
This happens in end-game mode.
2011-07-16 00:23:45 +09:00
Tatsuhiro Tsujikawa
2666bc8170
Renamed MessageDigestHelper as message_digest_helper
...
Static member variables in MessageDigestHelper class are now functions
under message_digest namespace.
2011-02-05 23:38:51 +09:00
Tatsuhiro Tsujikawa
acfb290eca
We don't need to call PeerConnection::sendPendingData() twice when
...
sending piece message.
2011-01-09 18:34:06 +09:00
Tatsuhiro Tsujikawa
03417e94b4
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use format specifier %lld for cuid_t. Defined cuid_t as long long
int instead of int64_t, since g++ complains int64_t is not
suitable for %lld.
2010-11-20 12:12:06 +00:00
Tatsuhiro Tsujikawa
694fb307aa
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced StringFormat with fmt
2010-11-20 09:36:14 +00:00
Tatsuhiro Tsujikawa
580098eb49
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten Logger interface. Logger now writes source file name and
line number in log file.
2010-11-20 08:21:36 +00:00
Tatsuhiro Tsujikawa
89f997ec0d
2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced MessageDigestContext with MessageDigest. Cleaned up
unnecessary functions in MessageDigestHelper.
* src/BtPieceMessage.cc
* src/Checksum.h
* src/DHTTokenTracker.cc
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/HashFuncEntry.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/IteratableChunkChecksumValidator.h
* src/LibgcryptMessageDigestImpl.cc
* src/LibgcryptMessageDigestImpl.h
* src/LibsslMessageDigestImpl.cc
* src/LibsslMessageDigestImpl.h
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/MessageDigest.cc
* src/MessageDigest.h
* src/MessageDigestHelper.cc
* src/MessageDigestHelper.h
* src/MessageDigestImpl.h
* src/MetalinkParserController.cc
* src/Piece.cc
* src/Piece.h
* src/UTMetadataDataExtensionMessage.cc
* src/bittorrent_helper.cc
* src/messageDigest.cc: Removed
* src/messageDigest.h: Removed
* src/util.cc
* src/version_usage.cc
* test/BittorrentHelperTest.cc
* test/GZipDecoderTest.cc
* test/GZipDecodingStreamFilterTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/Makefile.am
* test/MessageDigestHelperTest.cc
* test/MessageDigestTest.cc
* test/Metalink2RequestGroupTest.cc
* test/MetalinkProcessorTest.cc
* test/PieceTest.cc
* test/TestUtil.cc
* test/TestUtil.h
* test/UTMetadataDataExtensionMessageTest.cc
* test/UTMetadataPostDownloadHandlerTest.cc
2010-11-11 02:56:24 +00:00
Tatsuhiro Tsujikawa
b7df39b7ae
2010-10-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Fixed compiler warning about printf format.
* src/AdaptiveURISelector.cc
* src/BtPieceMessage.cc
* src/DHTAbstractNodeLookupTask.h
* src/DHTMessageFactoryImpl.cc
* src/DHTPeerLookupTask.cc
* src/DHTReplaceNodeTask.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultExtensionMessageFactory.cc
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/FileAllocationCommand.cc
* src/FileEntry.cc
* src/HandshakeExtensionMessage.cc
* src/IteratableChunkChecksumValidator.cc
* src/LibgcryptDHKeyExchange.h
* src/LibsslDHKeyExchange.h
* src/LpdDispatchMessageCommand.cc
* src/MSEHandshake.cc
* src/MessageDigestHelper.cc
* src/MultiDiskAdaptor.cc
* src/PeerConnection.cc
* src/SegmentMan.cc
* src/TimedHaltCommand.cc
* src/UTMetadataRequestExtensionMessage.cc
* src/UTPexExtensionMessage.cc
* src/bencode2.cc
* src/bittorrent_helper.cc
* src/message.h
2010-10-28 14:19:29 +00:00
Tatsuhiro Tsujikawa
dfdf2d8e56
2010-08-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Don't use pre-calculate hash value when end-game mode. Throw
exception if bad piece is received.
* src/BtPieceMessage.cc
* src/DownloadCommand.cc
2010-08-04 14:15:29 +00:00
Tatsuhiro Tsujikawa
ca4940622c
2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Changed naming standards for class member variable: now it looks
like var_ instead of _var.
2010-06-21 13:51:56 +00:00
Tatsuhiro Tsujikawa
55258bc019
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Renamed member variables
* src/ActivePeerConnectionCommand.cc
* src/BtLeecherStateChoke.cc
* src/BtPieceMessage.cc
* src/BtPortMessage.cc
* src/BtSeederStateChoke.cc
* src/DHTGetPeersReplyMessage.cc
* src/DefaultBtInteractive.cc
* src/DefaultPeerStorage.cc
* src/HandshakeExtensionMessage.cc
* src/LpdReceiveMessageCommand.cc
* src/Peer.cc
* src/Peer.h
* src/PeerAbstractCommand.cc
* src/PeerInitiateConnectionCommand.cc
* src/PeerListenCommand.cc
* src/SimpleBtMessage.cc
* src/UTPexExtensionMessage.cc
* src/XmlRpcMethodImpl.cc
* test/DHTAnnouncePeerMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTPeerAnnounceEntryTest.cc
* test/DHTPeerAnnounceStorageTest.cc
* test/DefaultPeerStorageTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/LpdMessageReceiverTest.cc
* test/PeerListProcessorTest.cc
* test/PeerTest.cc
* test/UTPexExtensionMessageTest.cc
2010-06-13 01:53:49 +00:00
Tatsuhiro Tsujikawa
812563bb6d
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Made protected member variable private. Added accessor funcs.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/BtAllowedFastMessage.cc
* src/BtAllowedFastMessage.h
* src/BtBitfieldMessage.cc
* src/BtBitfieldMessage.h
* src/BtCancelMessage.cc
* src/BtCancelMessage.h
* src/BtChokeMessage.cc
* src/BtChokeMessage.h
* src/BtExtendedMessage.cc
* src/BtHaveAllMessage.cc
* src/BtHaveAllMessage.h
* src/BtHaveMessage.cc
* src/BtHaveMessage.h
* src/BtHaveNoneMessage.cc
* src/BtHaveNoneMessage.h
* src/BtInterestedMessage.cc
* src/BtInterestedMessage.h
* src/BtNotInterestedMessage.cc
* src/BtNotInterestedMessage.h
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPortMessage.cc
* src/BtPortMessage.h
* src/BtRejectMessage.cc
* src/BtRejectMessage.h
* src/BtRequestMessage.cc
* src/BtRequestMessage.h
* src/BtUnchokeMessage.cc
* src/BtUnchokeMessage.h
* src/SimpleBtMessage.cc
* src/SimpleBtMessage.h
2010-06-11 11:48:22 +00:00
Tatsuhiro Tsujikawa
de8fef01f3
2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Defined cuid_t as int64_t. Removed texts containing "CUID#%D" from
translatable texts because it is used in log and debugging
purpose.
2010-03-21 07:05:49 +00:00
Tatsuhiro Tsujikawa
8b73c2843f
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Reduced copying/std::string instantiation in sending/receiving
BitTorrent messages.
* src/BtBitfieldMessage.cc
* src/BtBitfieldMessage.h
* src/BtExtendedMessage.cc
* src/BtExtendedMessage.h
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessage.h
* src/BtKeepAliveMessage.cc
* src/BtKeepAliveMessage.h
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPortMessage.cc
* src/BtPortMessage.h
* src/BtUnchokeMessage.h
* src/DefaultBtMessageReceiver.cc
* src/IndexBtMessage.cc
* src/IndexBtMessage.h
* src/PeerConnection.cc
* src/PeerConnection.h
* src/RangeBtMessage.cc
* src/RangeBtMessage.h
* src/SimpleBtMessage.cc
* src/SimpleBtMessage.h
* src/SocketBuffer.cc
* src/SocketBuffer.h
* src/ZeroBtMessage.cc
* src/ZeroBtMessage.h
* test/BtAllowedFastMessageTest.cc
* test/BtBitfieldMessageTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtExtendedMessageTest.cc
* test/BtHandshakeMessageTest.cc
* test/BtHaveAllMessageTest.cc
* test/BtHaveMessageTest.cc
* test/BtHaveNoneMessageTest.cc
* test/BtInterestedMessageTest.cc
* test/BtKeepAliveMessageTest.cc
* test/BtNotInterestedMessageTest.cc
* test/BtPieceMessageTest.cc
* test/BtPortMessageTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/BtSuggestPieceMessageTest.cc
* test/BtUnchokeMessageTest.cc
2010-03-04 16:24:03 +00:00
Tatsuhiro Tsujikawa
c342bde962
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use vector instead of deque for containers which is used for
mostly read-only purpose.
2010-02-28 12:30:11 +00:00
Tatsuhiro Tsujikawa
e227e53d7b
2010-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
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-02-09 12:20:20 +00:00
Tatsuhiro Tsujikawa
da682bd6bd
2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed unused PeerSessionResource::_latency.
* src/BtConstants.h
* src/BtPieceMessage.cc
* src/Peer.cc
* src/Peer.h
* src/PeerSessionResource.cc
* src/PeerSessionResource.h
* test/PeerSessionResourceTest.cc
2010-02-08 12:31:13 +00:00
Tatsuhiro Tsujikawa
4db349c1f3
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Untabify. Fixed one line in copyright which is longer than 80
columns.
* src
* test
2010-01-05 16:01:46 +00:00
Tatsuhiro Tsujikawa
d9e29e5c7d
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added _metadataGetMode member variable. It toggles the action when
messages are received: usually they almost do nothing if
_metadataGetMode is true.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/BtAllowedFastMessage.cc
* src/BtBitfieldMessage.cc
* src/BtCancelMessage.cc
* src/BtChokeMessage.cc
* src/BtHaveAllMessage.cc
* src/BtHaveMessage.cc
* src/BtInterestedMessage.cc
* src/BtNotInterestedMessage.cc
* src/BtPieceMessage.cc
* src/BtRejectMessage.cc
* src/BtRequestMessage.cc
* src/BtUnchokeMessage.cc
2009-11-22 13:33:35 +00:00
Tatsuhiro Tsujikawa
e976b23728
2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Renamed Util.{cc,h} as util.{cc,h}
* src/Util.cc
* src/Util.h
* src/util.cc
* src/util.h
2009-10-22 15:35:33 +00:00
Tatsuhiro Tsujikawa
c6035b2e24
2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Moved static functions in Util class to namespace util.
* src
* test
2009-10-22 15:09:00 +00:00
Tatsuhiro Tsujikawa
99654e4160
2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Move all functions in PeerMessageUtil to bittorrent_helper.
* src/BtBitfieldMessage.cc
* src/BtBitfieldMessageValidator.h
* src/BtExtendedMessage.cc
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessageValidator.h
* src/BtPieceMessage.cc
* src/BtPieceMessageValidator.h
* src/BtPortMessage.cc
* src/DHTFindNodeReplyMessage.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableSerializer.cc
* src/DHTTokenTracker.cc
* src/DefaultBtMessageFactory.cc
* src/IndexBtMessage.cc
* src/IndexBtMessage.h
* src/IndexBtMessageValidator.h
* src/Makefile.am
* src/PeerMessageUtil.cc: Removed.
* src/PeerMessageUtil.h: Removed.
* src/RangeBtMessage.cc
* src/RangeBtMessage.h
* src/RangeBtMessageValidator.h
* src/UTPexExtensionMessage.cc
* src/ZeroBtMessage.cc
* src/ZeroBtMessage.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/BittorrentHelperTest.cc
* test/BtAllowedFastMessageTest.cc
* test/BtBitfieldMessageTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtExtendedMessageTest.cc
* test/BtHandshakeMessageTest.cc
* test/BtHaveAllMessageTest.cc
* test/BtHaveMessageTest.cc
* test/BtHaveNoneMessageTest.cc
* test/BtInterestedMessageTest.cc
* test/BtNotInterestedMessageTest.cc
* test/BtPieceMessageTest.cc
* test/BtPortMessageTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/BtSuggestPieceMessageTest.cc
* test/BtUnchokeMessageTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableDeserializerTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/Makefile.am
* test/PeerListProcessorTest.cc
* test/PeerMessageUtilTest.cc: Removed.
* test/UTPexExtensionMessageTest.cc
2009-09-29 14:52:42 +00:00
Tatsuhiro Tsujikawa
5699b67526
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten DownloadContext and removed SingleFileDownloadContext
and BtContext and its derived classes. BitTorrent specific
attributes are now set by DownloadContext::setAttribute() with key
bittorrent::BITTORRENT.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/AbstractProxyRequestCommand.cc
* src/AbstractProxyResponseCommand.cc
* src/ActivePeerConnectionCommand.cc
* src/ActivePeerConnectionCommand.h
* src/AnnounceList.cc
* src/BtCheckIntegrityEntry.cc
* src/BtConstants.h
* src/BtContext.h: Removed
* src/BtDependency.cc
* src/BtExtendedMessage.cc
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPostDownloadHandler.cc
* src/BtRegistry.cc
* src/BtRegistry.h
* src/BtSetup.cc
* src/CheckIntegrityCommand.cc
* src/CheckIntegrityEntry.cc
* src/ChecksumCheckIntegrityEntry.cc
* src/ConsoleStatCalc.cc
* src/ContentTypeRequestGroupCriteria.cc
* src/DHTGetPeersCommand.cc
* src/DHTGetPeersCommand.h
* src/DHTPeerLookupTask.cc
* src/DHTPeerLookupTask.h
* src/DHTTaskFactory.h
* src/DHTTaskFactoryImpl.cc
* src/DHTTaskFactoryImpl.h
* src/DefaultBtAnnounce.cc
* src/DefaultBtAnnounce.h
* src/DefaultBtContext.cc: Removed
* src/DefaultBtContext.h: Removed
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageDispatcher.h
* src/DefaultBtMessageFactory.cc
* src/DefaultBtMessageFactory.h
* src/DefaultBtMessageReceiver.cc
* src/DefaultBtMessageReceiver.h
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultBtRequestFactory.h
* src/DefaultExtensionMessageFactory.cc
* src/DefaultExtensionMessageFactory.h
* src/DefaultPeerStorage.cc
* src/DefaultPeerStorage.h
* src/DefaultPieceStorage.cc
* src/DefaultSegmentManFactory.cc
* src/DiskAdaptor.cc
* src/DiskAdaptor.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/DownloadEngine.cc
* src/DownloadEngineFactory.cc
* src/DownloadHandler.cc
* src/DownloadResult.h
* src/FileAllocationCommand.cc
* src/FileAllocationDispatcherCommand.cc
* src/FileAllocationEntry.cc
* src/FileEntry.h
* src/FillRequestGroupCommand.cc
* src/FtpDownloadCommand.cc
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/FtpTunnelRequestCommand.cc
* src/FtpTunnelResponseCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HandshakeExtensionMessage.h
* src/HaveEraseCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpProxyRequestCommand.cc
* src/HttpProxyResponseCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/HttpSkipResponseCommand.cc
* src/InitiateConnectionCommandFactory.cc
* src/InitiatorMSEHandshakeCommand.cc
* src/InitiatorMSEHandshakeCommand.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/Makefile.in
* src/Metalink2RequestGroup.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiDiskAdaptor.cc
* src/MultiDiskAdaptor.h
* src/MultiFileAllocationIterator.cc
* src/MultiUrlRequestInfo.cc
* src/PeerChokeCommand.cc
* src/PeerChokeCommand.h
* src/PeerInitiateConnectionCommand.cc
* src/PeerInitiateConnectionCommand.h
* src/PeerInteractionCommand.cc
* src/PeerInteractionCommand.h
* src/PeerReceiveHandshakeCommand.cc
* src/PieceHashCheckIntegrityEntry.cc
* src/RealtimeCommand.cc
* src/ReceiverMSEHandshakeCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupEntry.cc
* src/RequestGroupMan.cc
* src/SeedCheckCommand.cc
* src/SeedCheckCommand.h
* src/SegmentMan.cc
* src/ShareRatioSeedCriteria.h
* src/SingleFileDownloadContext.cc: Removed
* src/SingleFileDownloadContext.h: Removed
* src/SleepCommand.cc
* src/StreamCheckIntegrityEntry.cc
* src/TrackerWatcherCommand.cc
* src/TrackerWatcherCommand.h
* src/UnknownLengthPieceStorage.cc
* src/Util.cc
* src/Util.h
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/main.cc
* src/option_processing.cc
* test/BitfieldManTest.cc
* test/BittorrentHelperTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtDependencyTest.cc
* test/BtPieceMessageTest.cc
* test/BtPostDownloadHandlerTest.cc
* test/BtRegistryTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/DHTPeerAnnounceStorageTest.cc
* test/DefaultBtAnnounceTest.cc
* test/DefaultBtContextTest.cc: Removed
* test/DefaultBtMessageDispatcherTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultBtProgressInfoFileTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/DefaultPeerStorageTest.cc
* test/DefaultPieceStorageTest.cc
* test/DirectDiskAdaptorTest.cc
* test/DownloadContextTest.cc
* test/DownloadHandlerFactoryTest.cc
* test/DownloadHelperTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/MSEHandshakeTest.cc
* test/Makefile.am
* test/Makefile.in
* test/Metalink2RequestGroupTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/MockBtContext.h: Removed
* test/MockDHTTaskFactory.h
* test/MockDownloadContext.h: Removed
* test/MockPieceStorage.h
* test/MultiDiskAdaptorTest.cc
* test/MultiFileAllocationIteratorTest.cc
* test/RequestGroupManTest.cc
* test/RequestGroupTest.cc
* test/SegmentManTest.cc
* test/ShareRatioSeedCriteriaTest.cc
* test/SingleFileDownloadContextTest.cc: Removed
* test/UtilTest.cc
* test/XmlRpcMethodTest.cc
2009-06-28 10:37:15 +00:00
Tatsuhiro Tsujikawa
3bb2e3b07e
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Avoid intermediate object during string concatenation. Replaced
post-increment unary operator with pre-increment one in for loop.
* src/AdaptiveURISelector.cc
* src/AnnounceList.cc
* src/AuthConfig.h
* src/BtBitfieldMessage.cc
* src/BtExtendedMessage.cc
* src/BtHandshakeMessage.cc
* src/BtPieceMessage.cc
* src/BtPortMessage.cc
* src/Cookie.cc
* src/DHTAnnouncePeerMessage.cc
* src/DHTAutoSaveCommand.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTNode.cc
* src/DHTQueryMessage.cc
* src/DHTResponseMessage.cc
* src/DHTUnknownMessage.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtContext.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultPeerStorage.cc
* src/DownloadEngine.cc
* src/FeatureConfig.cc
* src/File.cc
* src/FtpConnection.cc
* src/FtpNegotiationCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HttpConnection.cc
* src/HttpRequest.cc
* src/HttpResponseCommand.cc
* src/HttpServer.cc
* src/IndexBtMessage.cc
* src/Metalink2RequestGroup.cc
* src/OptionHandlerImpl.h
* src/PStringBuildVisitor.cc
* src/Peer.cc
* src/PeerListenCommand.cc
* src/Piece.cc
* src/RangeBtMessage.cc
* src/Request.cc
* src/Request.h
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/ServerStat.cc
* src/ServerStatMan.cc
* src/UTPexExtensionMessage.cc
* src/Util.cc
* src/a2functional.h
* src/download_helper.cc
* src/messageDigest.cc
2009-06-06 12:33:07 +00:00
Tatsuhiro Tsujikawa
20e215047c
2009-05-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added source filename(__FILE__) and line number(__LINE__) to
exception message.
* src/AbstractCommand.cc
* src/AbstractDiskWriter.cc
* src/AbstractProxyResponseCommand.cc
* src/BDE.h
* src/BtAllowedFastMessage.cc
* src/BtHandshakeMessageValidator.h
* src/BtHaveAllMessage.cc
* src/BtHaveNoneMessage.cc
* src/BtPieceMessage.cc
* src/BtRejectMessage.cc
* src/ChunkedDecoder.cc
* src/CookieStorage.cc
* src/DHTAnnouncePeerMessage.cc
* src/DHTEntryPointNameResolveCommand.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTMessageTracker.cc
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableSerializer.cc
* src/DHTSetup.cc
* src/DHTTokenTracker.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtContext.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtMessageFactory.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultExtensionMessageFactory.cc
* src/DlAbortEx.h
* src/DlRetryEx.h
* src/DownloadCommand.cc
* src/DownloadEngineFactory.cc
* src/DownloadFailureException.h
* src/Exception.cc
* src/Exception.h
* src/ExpatMetalinkProcessor.cc
* src/ExpatXmlRpcRequestProcessor.cc
* src/FallocFileAllocationIterator.cc
* src/FatalException.h
* src/FtpConnection.cc
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/GZipDecoder.cc
* src/HandshakeExtensionMessage.cc
* src/HttpConnection.cc
* src/HttpHeaderProcessor.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpResponse.cc
* src/HttpResponseCommand.cc
* src/HttpServer.cc
* src/HttpSkipResponseCommand.cc
* src/InitiateConnectionCommandFactory.cc
* src/IteratableChunkChecksumValidator.cc
* src/LibgcryptARC4Context.h
* src/LibgcryptARC4Decryptor.h
* src/LibgcryptARC4Encryptor.h
* src/LibgcryptDHKeyExchange.h
* src/LibgnutlsTLSContext.cc
* src/LibsslARC4Context.h
* src/LibsslARC4Decryptor.h
* src/LibsslARC4Encryptor.h
* src/LibsslDHKeyExchange.h
* src/LibsslTLSContext.cc
* src/MSEHandshake.cc
* src/MessageDigestHelper.cc
* src/MetalinkHelper.cc
* src/MultiDiskAdaptor.cc
* src/NameMatchOptionHandler.h
* src/NameResolver.cc
* src/Netrc.cc
* src/NsCookieParser.cc
* src/OptionHandlerException.cc
* src/OptionHandlerException.h
* src/OptionHandlerImpl.h
* src/OptionParser.cc
* src/ParameterizedStringParser.cc
* src/PeerAbstractCommand.cc
* src/PeerConnection.cc
* src/PeerMessageUtil.cc
* src/PeerReceiveHandshakeCommand.cc
* src/Platform.cc
* src/ReceiverMSEHandshakeCommand.cc
* src/RecoverableException.h
* src/RequestGroup.cc
* src/SimpleLogger.cc
* src/SocketCore.cc
* src/Sqlite3MozCookieParser.cc
* src/UTPexExtensionMessage.cc
* src/Util.cc
* src/XML2SAXMetalinkProcessor.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/XmlRpcMethodImpl.cc
* src/bencode.cc
* src/download_helper.cc
* src/messageDigest.h
* test/ExceptionTest.cc
* test/TestUtil.cc
2009-05-18 15:07:15 +00:00
Tatsuhiro Tsujikawa
afdd61f9d1
2009-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten event dispatch in BtMessage. Removed BtEventListener,
BtEvent.
* src/AbstractBtEventListener.h: Removed.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/BtAbortOutstandingRequestEvent.h
* src/BtCancelSendingPieceEvent.h
* src/BtChokedEvent.h: Removed.
* src/BtChokingEvent.h
* src/BtEvent.h: Removed
* src/BtEventListener.h: Removed.
* src/BtMessage.h
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtRequestMessage.cc
* src/BtRequestMessage.h
* src/DefaultBtMessageDispatcher.cc
* src/Makefile.am
* src/a2functional.h
* test/BtPieceMessageTest.cc
* test/BtRequestMessageTest.cc
* test/DefaultBtMessageDispatcherTest.cc
* test/MockBtMessage.h
2009-04-21 14:52:04 +00:00
Tatsuhiro Tsujikawa
15582ed8cd
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Refactored BtMessage subclasses. BtCancelMessage,
BtRequestMessage and BtRejectMessage are derived from
RangeBtMessage class.
BtAllowedFastMessage, BtHaveMessage and BtSuggestPieceMessage
are derived from IndexBtMessage class. BtChokeMessage,
BtHaveAllMessage, BtHaveNoneMessage, BtInterestedMessage,
BtNotInterestedMessage and BtUnchokeMessage are derived from
ZeroBtMessage class.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/BtAllowedFastMessage.cc
* src/BtAllowedFastMessage.h
* src/BtAllowedFastMessageValidator.h: Removed
* src/BtBitfieldMessage.cc
* src/BtBitfieldMessage.h
* src/BtCancelMessage.cc
* src/BtCancelMessage.h
* src/BtCancelMessageValidator.h: Removed
* src/BtChokeMessage.cc
* src/BtChokeMessage.h
* src/BtExtendedMessage.cc
* src/BtExtendedMessage.h
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessage.h
* src/BtHaveAllMessage.cc
* src/BtHaveAllMessage.h
* src/BtHaveMessage.cc
* src/BtHaveMessage.h
* src/BtHaveMessageValidator.h: Removed
* src/BtHaveNoneMessage.cc
* src/BtHaveNoneMessage.h
* src/BtInterestedMessage.cc
* src/BtInterestedMessage.h
* src/BtKeepAliveMessage.cc
* src/BtKeepAliveMessage.h
* src/BtNotInterestedMessage.cc
* src/BtNotInterestedMessage.h
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPortMessage.cc
* src/BtPortMessage.h
* src/BtRejectMessage.cc
* src/BtRejectMessage.h
* src/BtRejectMessageValidator.h: Removed
* src/BtRequestMessage.cc
* src/BtRequestMessage.h
* src/BtRequestMessageValidator.h: Removed
* src/BtSuggestPieceMessage.cc
* src/BtSuggestPieceMessage.h
* src/BtSuggestPieceMessageValidator.h: Removed
* src/BtUnchokeMessage.cc
* src/BtUnchokeMessage.h
* src/DefaultBtMessageFactory.cc
* src/IndexBtMessage.cc
* src/IndexBtMessage.h
* src/IndexBtMessageValidator.h
* src/Makefile.am
* src/PeerMessageUtil.cc
* src/PeerMessageUtil.h
* src/RangeBtMessage.cc
* src/RangeBtMessage.h
* src/RangeBtMessageValidator.h
* src/SimpleBtMessage.cc
* src/SimpleBtMessage.h
* src/ZeroBtMessage.cc
* src/ZeroBtMessage.h
* test/BtRequestMessageTest.cc
2009-03-12 15:54:43 +00:00