2009-11-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Initial support of Extension for Peers to Send Metadata
	Files(BEP9). Currently aria2 only serves metadata and cannot get
	metadata from swarm.
	* src/BtConstants.h
	* src/DefaultBtInteractive.cc
	* src/DefaultExtensionMessageFactory.cc
	* src/DefaultExtensionMessageFactory.h
	* src/ExtensionMessage.h
	* src/ExtensionMessageRegistry.h
	* src/HandshakeExtensionMessage.cc
	* src/HandshakeExtensionMessage.h
	* src/Makefile.am
	* src/PeerConnection.h
	* src/PeerInteractionCommand.cc
	* src/UTMetadataDataExtensionMessage.cc
	* src/UTMetadataDataExtensionMessage.h
	* src/UTMetadataExtensionMessage.cc
	* src/UTMetadataExtensionMessage.h
	* src/UTMetadataRejectExtensionMessage.cc
	* src/UTMetadataRejectExtensionMessage.h
	* src/UTMetadataRequestExtensionMessage.cc
	* src/UTMetadataRequestExtensionMessage.h
	* src/bittorrent_helper.cc
	* src/bittorrent_helper.h
	* test/BittorrentHelperTest.cc
	* test/DefaultExtensionMessageFactoryTest.cc
	* test/HandshakeExtensionMessageTest.cc
	* test/Makefile.am
	* test/UTMetadataDataExtensionMessageTest.cc
	* test/UTMetadataRejectExtensionMessageTest.cc
	* test/UTMetadataRequestExtensionMessageTest.cc
This commit is contained in:
Tatsuhiro Tsujikawa 2009-11-20 15:42:25 +00:00
parent 2764b6739d
commit 93968c4fa5
31 changed files with 1262 additions and 32 deletions

View file

@ -43,6 +43,9 @@ class PeerStorage;
class Peer;
class Logger;
class ExtensionMessageRegistry;
class DownloadContext;
class BtMessageFactory;
class BtMessageDispatcher;
class DefaultExtensionMessageFactory:public ExtensionMessageFactory {
private:
@ -52,6 +55,12 @@ private:
SharedHandle<ExtensionMessageRegistry> _registry;
SharedHandle<DownloadContext> _dctx;
WeakHandle<BtMessageFactory> _messageFactory;
WeakHandle<BtMessageDispatcher> _dispatcher;
Logger* _logger;
public:
@ -75,6 +84,21 @@ public:
{
_registry = registry;
}
void setDownloadContext(const SharedHandle<DownloadContext>& dctx)
{
_dctx = dctx;
}
void setBtMessageFactory(const WeakHandle<BtMessageFactory>& factory)
{
_messageFactory = factory;
}
void setBtMessageDispatcher(const WeakHandle<BtMessageDispatcher>& disp)
{
_dispatcher = disp;
}
};
typedef SharedHandle<DefaultExtensionMessageFactory> DefaultExtensionMessageFactoryHandle;