| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc 3.4.4 support:
* src/DefaultBtContext.cc: int32_t -> int
* src/main.cc: int -> int32_t, int32_t -> int
* src/messageDigest.h: uint32_t -> unsigned int
* src/NameResolver.h: int32_t -> int
* src/PeerConnection.cc: int -> int32_t
* src/SpeedCalc.cc: int32_t -> int
* src/TrackerUpdateCommand.h: int -> int32_t
* src/Util.cc: int32_t -> int
* src/Util.h: int32_t -> int
* src/Xml2MetalinkProcessor.cc: int -> uint32_t, int64_t ->
uint64_t
* test/AnnounceListTest.cc: int -> int32_t
* test/ChunkedEncodingTest.cc: int -> int32_t
* test/DataTest.cc: int -> int32_t
* test/DefaultBtRequestFactoryTest.cc: int -> int32_t
* test/DefaultPeerListProcessorTest.cc: int -> int32_t
* test/DefaultPieceStorageTest.cc: int -> int32_t
* test/FeatureConfigTest.cc: int -> int32_t
* test/MetalinkEntryTest.cc: int -> int32_t
* test/MockBtRequestFactory.h: int -> int32_t
* test/MockPieceStorage.h: int -> int32_t
* test/OptionTest.cc: int -> int32_t
* test/RequestTest.cc: int -> int32_t
* test/SegmentManTest.cc: int -> int32_t
* test/Xml2MetalinkProcessorTest.cc: int -> int32_t
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To add the ability to resume downloading a partially downloaded
file
which is downloaded from the beginning:
* src/FileAllocator.h: Made abstract class. New
DefaultFileAllocator
takes this role.
* src/main.cc: Added -c option.
* src/BitfieldMan.h, src/BitfieldMan.cc (setBitRange): New
function.
* src/DiskWriter.h (openExistingFile): Added totalLength
argument.
* src/prefs.h (PREF_CONTINUE): New definition.
* src/SegmentMan.h, src/SegmentMan.cc (markPieceDone): New
function.
* src/DefaultDiskWriter.cc
(createNewDiskWriter): Add GlowFileAllocator to the new object.
* src/AbstractDiskWriter.h
(glowFileAllocator): New variable.
* src/AbstractDiskWriter.cc
(openExistingFile): Now preallocate file space from the end of
the
existing file if totalLength argument is specified and grater
than 0.
* src/UrlRequestInfo.cc: If -c option is specified and the file
to download exists in local, continue the download of the file.
--allow-overwrite=true is assumed in this context.
* src/DefaultFileAllocator.h, src/DefaultFileAllocator.cc: New
class.
* src/GlowFileAllocator.h, src/GlowFileAllocator.cc: New class.
Throw exception if --check-integrity=true is specified but chunk
checksums are not provided:
* src/UrlRequestInfo.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To handle Segment as SegmentHandle:
* src/AbstractCommand.cc (execute): Rewritten.
* src/SegmentMan.h: Segment -> SegmentHandle
Introducded HttpResponse class, HttpRequest class to improve
code
extensiveness and make it clear:
* src/HttpDownloadCommand.cc: transfer encoders are now managed
by
HttpResponse class.
* src/HttpRequest.h, src/HttpRequest.cc: New class.
* src/HttpResponse.h, src/HttpResponse.cc: New class.
* src/HttpConnection.cc: Contruction of http request were moved
to
HttpRequest class.
* src/HttpResponseCommand.h, src/HttpResponseCommand.cc:
Refactored.
* src/HttpRequestCommand.cc (executeInternal): Rewritten.
* src/HttpAuthConfig.h: New class.
* src/Range.h: New class.
To make FtpTunnel{Request, Response}Command and
HttpProxy{Request, Response}Command derived from
AbstractProxy{Request, Response}Command:
* src/FtpTunnelResponseCommand.h,
src/FtpTunnelResponseCommand.cc:
Derived from AbstractProxyRequestCommand class.
* src/FtpTunnelRequestCommand.h, src/FtpTunnelRequestCommand.cc:
Derived from AbstractProxyResponseCommand class.
* src/HttpProxyRequestCommand.h, src/HttpProxyRequestCommand.cc:
Derived from AbstractProxyRequestCommand class.
* src/HttpProxyResponseCommand.h,
src/HttpProxyResponseCommand.cc:
Derived from AbstractProxyResponseCommand class.
* src/AbstractProxyRequestCommand.h,
src/AbstractProxyRequestCommand.cc
: New class.
* src/AbstractProxyResponseCommand.h,
src/AbstractProxyResponseCommand.cc: New class.
To add netrc support:
* src/Netrc.h, src/Netrc.cc: New class.
* src/Util.h, src/Util.cc (split): New function.
* src/HttpHeader.cc (getRange): Fixed so that it inspects
"Content-Range" header instead of "Range" header.
* src/HttpHeader.h
(getStatus): Removed.
(setStatus): Removed.
* src/Segment.h
(getPositionToWrite): New function.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewritten a portion of bittorrent implementation:
* src/BtMessageValidator.h: New class.
* src/BtBitfieldMessageValidator.h: New class.
* src/BtHandshakeMessageValidator.h: New class.
* src/BtRequestMessageValidator.h: New class.
* src/BtSuggestPieceMessageValidator.h: New class.
* src/BtAllowedFastMessageValidator.h: New class.
* src/BtRejectMessageValidator.h: New class.
* src/BtCancelMessageValidator.h: New class.
* src/BtPieceMessageValidator.h: New class.
* src/BtHaveMessageValidator.h: New class.
* src/BtEventListener.h: New class.
* src/AbstractBtEventListener.h: New class.
* src/BtEvent.h: New class.
* src/BtChokingEvent.h: New class.
* src/BtChokedEvent.h: New class.
* src/BtCancelSendingPieceEvent.h: New class.
* src/BtAbortOutstandingRequestEvent.h: New class.
* src/Randomizer.h: New class.
* src/SimpleRandomizer.h: New class.
* src/BtMessage.h: New class.
* src/AbstractBtMessage.h: New class.
* src/SimpleBtMessage.h: New class.
* src/BtHaveMessage.h: New class.
* src/BtInterestedMessage.h: New class.
* src/BtAllowedFastMessage.h: New class.
* src/BtUnchokeMessage.h: New class.
* src/BtCancelMessage.h: New class.
* src/BtNotInterestedMessage.h: New class.
* src/BtChokeMessage.h: New class.
* src/BtHaveNoneMessage.h: New class.
* src/BtHandshakeMessage.h: New class.
* src/BtSuggestPieceMessage.h: New class.
* src/BtHaveMessage.h: New class.
* src/BtPieceMessage.h: New class.
* src/BtHaveAllMessage.h: New class.
* src/BtKeepAliveMessage.h: New class.
* src/BtPortMessage.h: New class.
* src/BtRejectMessage.h: New class.
* src/BtBitfieldMessage.h: New class.
* src/BtRequestMessage.h: New class.
* src/DefaultBtRequestFactory.h: New class.
* src/DefaultBtMessageReceiver.h: New class.
* src/BtInteractive.h: New class.
* src/BtMessageDispatcher.h: New class.
* src/DefaultBtMessageDispatcher.h: New class.
* src/DefaultBtInteractive.h: New class.
* src/BitfieldManFactory.h: New class.
* src/HandleRegistry.h: New class.
* src/BtMessageFactory.h: New class.
* src/BtMessageReceiver.h: New class.
* src/DefaultBtMessageFactory.h: New class.
* src/PeerObject.h: New class.
* src/BtRequestFactory.h: New class.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Request -> RequestHandle:
* src/HttpResponseCommand.h: Request->RequestHandle
* src/AbstractCommand.cc: Request->RequestHandle
* src/HttpDownloadCommand.cc: Request->RequestHandle
* src/HttpRequestCommand.cc: Request->RequestHandle
* src/FtpInitiateConnectionCommand.h: Request->RequestHandle
* src/AbstractCommand.h: Request->RequestHandle
* src/HttpProxyRequestCommand.h: Request->RequestHandle
* src/HttpResponseCommand.cc: Request->RequestHandle
* src/HttpInitiateConnectionCommand.h: Request->RequestHandle
* src/FtpNegotiateCommand.cc: Request->RequestHandle
* src/FtpTunnelResponseCommand.h: Request->RequestHandle
* src/HttpConnection.h: Request->RequestHandle
* src/HttpProxyResponseCommand.cc: Request->RequestHandle
* src/InitiateConnectionCommandFactory.h: Request->RequestHandle
* src/FtpTunnelResponseCommand.cc: Request->RequestHandle
* src/DownloadCommand.h: Request->RequestHandle
* src/FtpDowndloadCommand.cc: Request->RequestHandle
* src/HttpInitiateConnectionCommand.cc: Request->RequestHandle
* src/HttpRequestCommand.h: Request->RequestHandle
* src/FtpNegotiateCommand.h: Request->RequestHandle
* src/FtpTunnelResponseCommand.cc: Request->RequestHandle
* src/FtpInitiateConnectionCommand.cc: Request->RequestHandle
* src/HttpDownloadCommand.h: Request->RequestHandle
* src/FtpConnection.cc: Request->RequestHandle
* src/InitiateConnectionCommandFactory.cc:
Request->RequestHandle
* src/UrlRequestInfo.cc: Request->RequestHandle
* src/HttpProxyResponseCommand.h: Request->RequestHandle
* src/HttpConnection.h: Request->RequestHandle
* src/DownloadCommand.cc: Request->RequestHandle
* src/FtpConnection.h: Request->RequestHandle
* src/FtpDowndloadCommand.h: Request->RequestHandle
* src/HttpProxyRequestCommand.cc: Request->RequestHandle
* src/FtpTunnelRequestCommand.h: Request->RequestHandle
* src/Request.h
(SharedHandle.h): New include.
(RequestHandle): New type definition.
(Requests): Redefined.
To add MULTITRACKER support:
* src/TrackerWatcherCommand.h
(createRequestCommand): New function.
* src/DownloadEngineFactory.cc
(newTorrentConsoleEngine): Removed req.
* src/prefs.h
(PREF_TRACKER_MAX_TRIES): New definition.
* src/TorrentMan.cc
(TorrentMan): Removed req. Added trackerNumTry.
(~TorrentMan): Removed req.
(setupInternal1): Added announceList.
* src/TorrentRequestInfo.cc
(execute): Set PREF_MAX_TIRES to 1. The max number of tries for
announces is now specified by PREF_TRACKER_MAX_TRIES.
* src/main.cc
(main): Added PREF_TRACKER_MAX_TRIES.
* src/TorrentMan.h
(Request.h): Removed.
(AnnounceList.h): New include.
(trackerNumTry): New variable.
(req): Removed.
(announceList): New variable.
* src/TrackerWatcherCommand.cc
(execute): Rewritten.
(createRequestCommand): New function.
* src/TrackerUpdateCommand.cc
(execute): Updated with the use of AnnounceList.
* src/AnnounceList.cc: New class.
* src/AnnounceList.h: New class.
To fix typo:
* src/prefs.h
(PREF_MAX_TRIES): max_try->max_tries
To not to decode "+" as space in URL decode:
* src/Util.cc
(urldecode): Removed "+"->space decoding rule. Test case was
updated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To add timeout to async name resolution:
* src/AbstractCommand.h
(nameResolveFinished): New function. This is not elegant way. It needs
to be more refined.
(nameResolverCheck): New variable.
* src/AbstractCommand.cc
(AbstractCommand): Added nameResolverCheck.
(execute): Added the check whether the name resolution has finished.
(setNameResolverCheck): Set nameResolverCheck to true.
(disableNameResolverCheck): Set nameResolverCheck to false.
(nameResolverFinished): New function.
* src/FtpInitiateConnectionCommand.h
(nameResolverFinished): New function.
* src/HttpInitiateConnectionCommand.h
(nameResolverFinished): New function.
To add the support for a non-compact response from a tracker:
* src/PeerListProcessor.h: New class.
* src/DefaultPeerListProcessor.h: New class.
* src/DefaultPeerListProcessor.cc: New class.
* src/CompactPeerListProcessor.h: New class.
* src/CompactPeerListProcessor.cc: New class.
* src/DelegatingPeerListProcessor.h: New class.
* src/DelegatingPeerListProcessor.cc: New class.
* src/TorrentMan.cc
(addPeer): New function(overload).
(addPeer): Delete unused peers only when new peer is added.
* src/TorrentMan.h
(PeerListProcessor.h): Included.
(Peers): Removed.
(addPeer): New function(overload).
* src/TrackerUpdateCommand.cc
(netinet/in.h): Removed.
(DelegatingPeerListProcessor.h): Included.
(execute): Updated to use DelegatingPeerListProcessor.
To fix the memory leak in TorrentMan::peers:
* src/PeerAbstractCommand.cc
(onAbort): Added peer->resetStatus().
* src/Peer.h
(resetStatus): Made public.
To improve the precision of the speed calculation:
* src/SpeedCalc.h
(nextInterval): New variable.
* src/SpeedCalc.cc
(reset): Added nextInterval.
(isIntervalOver): Use nextInterval instead of CHANGE_INTERVAL_SEC.
(changeSw): Set nextInterval to 15 seconds relative to the current
instant time.
* src/main.cc
(showVersion): Updated.
|
| |
|