2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Removed ExtendedMessagingAware. Instead of using inheritance,
	added ExtensionMessageRegistry and it is passed to
	DefaultExtensionMessageFactory.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
	* src/DefaultExtensionMessageFactory.cc
	* src/DefaultExtensionMessageFactory.h
	* src/ExtendedMessagingAware.h: Removed.
	* src/ExtensionMessageFactory.h
	* src/ExtensionMessageRegistry.h: Added.
	* src/Makefile.am
	* src/PeerInteractionCommand.cc
	* test/DefaultExtensionMessageFactoryTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2009-04-25 10:48:00 +00:00
parent 3908d86213
commit e385c68f52
11 changed files with 86 additions and 37 deletions

View File

@ -1,3 +1,19 @@
2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed ExtendedMessagingAware. Instead of using inheritance,
added ExtensionMessageRegistry and it is passed to
DefaultExtensionMessageFactory.
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DefaultExtensionMessageFactory.cc
* src/DefaultExtensionMessageFactory.h
* src/ExtendedMessagingAware.h: Removed.
* src/ExtensionMessageFactory.h
* src/ExtensionMessageRegistry.h: Added.
* src/Makefile.am
* src/PeerInteractionCommand.cc
* test/DefaultExtensionMessageFactoryTest.cc
2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo in log messages Fixed typo in log messages

View File

@ -50,6 +50,7 @@
#include "HandshakeExtensionMessage.h" #include "HandshakeExtensionMessage.h"
#include "UTPexExtensionMessage.h" #include "UTPexExtensionMessage.h"
#include "DefaultExtensionMessageFactory.h" #include "DefaultExtensionMessageFactory.h"
#include "ExtensionMessageRegistry.h"
#include "DHTNode.h" #include "DHTNode.h"
#include "Peer.h" #include "Peer.h"
#include "Piece.h" #include "Piece.h"
@ -115,7 +116,7 @@ BtMessageHandle DefaultBtInteractive::receiveHandshake(bool quickReply) {
if(message->isExtendedMessagingEnabled()) { if(message->isExtendedMessagingEnabled()) {
peer->setExtendedMessagingEnabled(true); peer->setExtendedMessagingEnabled(true);
if(!_utPexEnabled) { if(!_utPexEnabled) {
_extensionMessageFactory->removeExtension("ut_pex"); _extensionMessageRegistry->removeExtension("ut_pex");
} }
logger->info(MSG_EXTENDED_MESSAGING_ENABLED, cuid); logger->info(MSG_EXTENDED_MESSAGING_ENABLED, cuid);
} }
@ -162,7 +163,7 @@ void DefaultBtInteractive::addHandshakeExtendedMessageToQueue()
HandshakeExtensionMessageHandle m(new HandshakeExtensionMessage()); HandshakeExtensionMessageHandle m(new HandshakeExtensionMessage());
m->setClientVersion(CLIENT_ARIA2); m->setClientVersion(CLIENT_ARIA2);
m->setTCPPort(_btRuntime->getListenPort()); m->setTCPPort(_btRuntime->getListenPort());
m->setExtensions(_extensionMessageFactory->getExtensions()); m->setExtensions(_extensionMessageRegistry->getExtensions());
SharedHandle<BtMessage> msg = messageFactory->createBtExtendedMessage(m); SharedHandle<BtMessage> msg = messageFactory->createBtExtendedMessage(m);
dispatcher->addMessageToQueue(msg); dispatcher->addMessageToQueue(msg);

View File

@ -55,6 +55,7 @@ class BtMessageFactory;
class BtRequestFactory; class BtRequestFactory;
class PeerConnection; class PeerConnection;
class ExtensionMessageFactory; class ExtensionMessageFactory;
class ExtensionMessageRegistry;
class DHTNode; class DHTNode;
class Logger; class Logger;
class RequestGroupMan; class RequestGroupMan;
@ -112,6 +113,7 @@ private:
SharedHandle<PeerConnection> peerConnection; SharedHandle<PeerConnection> peerConnection;
SharedHandle<BtMessageFactory> messageFactory; SharedHandle<BtMessageFactory> messageFactory;
SharedHandle<ExtensionMessageFactory> _extensionMessageFactory; SharedHandle<ExtensionMessageFactory> _extensionMessageFactory;
SharedHandle<ExtensionMessageRegistry> _extensionMessageRegistry;
WeakHandle<DHTNode> _localNode; WeakHandle<DHTNode> _localNode;
@ -203,6 +205,12 @@ public:
void setExtensionMessageFactory void setExtensionMessageFactory
(const SharedHandle<ExtensionMessageFactory>& factory); (const SharedHandle<ExtensionMessageFactory>& factory);
void setExtensionMessageRegistry
(const SharedHandle<ExtensionMessageRegistry>& registry)
{
_extensionMessageRegistry = registry;
}
void setKeepAliveInterval(time_t keepAliveInterval) { void setKeepAliveInterval(time_t keepAliveInterval) {
this->keepAliveInterval = keepAliveInterval; this->keepAliveInterval = keepAliveInterval;
} }

View File

@ -42,16 +42,20 @@
#include "Logger.h" #include "Logger.h"
#include "StringFormat.h" #include "StringFormat.h"
#include "PeerStorage.h" #include "PeerStorage.h"
#include "ExtensionMessageRegistry.h"
namespace aria2 { namespace aria2 {
DefaultExtensionMessageFactory::DefaultExtensionMessageFactory(): DefaultExtensionMessageFactory::DefaultExtensionMessageFactory():
_logger(LogFactory::getInstance()) {} _logger(LogFactory::getInstance()) {}
DefaultExtensionMessageFactory::DefaultExtensionMessageFactory(const BtContextHandle& btContext, DefaultExtensionMessageFactory::DefaultExtensionMessageFactory
const PeerHandle& peer): (const BtContextHandle& btContext,
const PeerHandle& peer,
const SharedHandle<ExtensionMessageRegistry>& registry):
_btContext(btContext), _btContext(btContext),
_peer(peer), _peer(peer),
_registry(registry),
_logger(LogFactory::getInstance()) {} _logger(LogFactory::getInstance()) {}
DefaultExtensionMessageFactory::~DefaultExtensionMessageFactory() {} DefaultExtensionMessageFactory::~DefaultExtensionMessageFactory() {}
@ -67,7 +71,7 @@ DefaultExtensionMessageFactory::createMessage(const unsigned char* data, size_t
m->setPeer(_peer); m->setPeer(_peer);
return m; return m;
} else { } else {
std::string extensionName = getExtensionName(extensionMessageID); std::string extensionName = _registry->getExtensionName(extensionMessageID);
if(extensionName.empty()) { if(extensionName.empty()) {
throw DlAbortEx throw DlAbortEx
(StringFormat("No extension registered for extended message ID %u", (StringFormat("No extension registered for extended message ID %u",

View File

@ -43,6 +43,7 @@ class BtContext;
class PeerStorage; class PeerStorage;
class Peer; class Peer;
class Logger; class Logger;
class ExtensionMessageRegistry;
class DefaultExtensionMessageFactory:public ExtensionMessageFactory { class DefaultExtensionMessageFactory:public ExtensionMessageFactory {
private: private:
@ -52,13 +53,17 @@ private:
SharedHandle<Peer> _peer; SharedHandle<Peer> _peer;
SharedHandle<ExtensionMessageRegistry> _registry;
Logger* _logger; Logger* _logger;
public: public:
DefaultExtensionMessageFactory(); DefaultExtensionMessageFactory();
DefaultExtensionMessageFactory(const SharedHandle<BtContext>& btContext, DefaultExtensionMessageFactory
const SharedHandle<Peer>& peer); (const SharedHandle<BtContext>& btContext,
const SharedHandle<Peer>& peer,
const SharedHandle<ExtensionMessageRegistry>& registry);
virtual ~DefaultExtensionMessageFactory(); virtual ~DefaultExtensionMessageFactory();
@ -70,6 +75,12 @@ public:
void setPeerStorage(const SharedHandle<PeerStorage>& peerStorage); void setPeerStorage(const SharedHandle<PeerStorage>& peerStorage);
void setPeer(const SharedHandle<Peer>& peer); void setPeer(const SharedHandle<Peer>& peer);
void setExtensionMessageRegistry
(const SharedHandle<ExtensionMessageRegistry>& registry)
{
_registry = registry;
}
}; };
typedef SharedHandle<DefaultExtensionMessageFactory> DefaultExtensionMessageFactoryHandle; typedef SharedHandle<DefaultExtensionMessageFactory> DefaultExtensionMessageFactoryHandle;

View File

@ -35,14 +35,14 @@
#ifndef _D_EXTENSION_MESSAGE_FACTORY_H_ #ifndef _D_EXTENSION_MESSAGE_FACTORY_H_
#define _D_EXTENSION_MESSAGE_FACTORY_H_ #define _D_EXTENSION_MESSAGE_FACTORY_H_
#include "ExtendedMessagingAware.h" #include "common.h"
#include "SharedHandle.h" #include "SharedHandle.h"
namespace aria2 { namespace aria2 {
class ExtensionMessage; class ExtensionMessage;
class ExtensionMessageFactory:public ExtendedMessagingAware { class ExtensionMessageFactory {
public: public:
virtual ~ExtensionMessageFactory() {} virtual ~ExtensionMessageFactory() {}

View File

@ -2,7 +2,7 @@
/* /*
* aria2 - The high speed download utility * aria2 - The high speed download utility
* *
* Copyright (C) 2006 Tatsuhiro Tsujikawa * Copyright (C) 2009 Tatsuhiro Tsujikawa
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -32,27 +32,27 @@
* files in the program, then also delete it here. * files in the program, then also delete it here.
*/ */
/* copyright --> */ /* copyright --> */
#ifndef _D_EXTENDED_MESSAGING_AWARE_H_ #ifndef _D_EXTENSION_MESSAGE_REGISTRY_H_
#define _D_EXTENDED_MESSAGING_AWARE_H_ #define _D_EXTENSION_MESSAGE_REGISTRY_H_
#include "common.h" #include "common.h"
#include <string>
#include "BtConstants.h" #include "BtConstants.h"
#include "A2STR.h" #include "A2STR.h"
#include <string>
namespace aria2 { namespace aria2 {
class ExtendedMessagingAware { class ExtensionMessageRegistry {
private: private:
Extensions _extensions; Extensions _extensions;
public: public:
ExtendedMessagingAware() ExtensionMessageRegistry()
{ {
_extensions["ut_pex"] = 8; _extensions["ut_pex"] = 8;
} }
virtual ~ExtendedMessagingAware() {}
const Extensions& getExtensions() const const Extensions& getExtensions() const
{ {
return _extensions; return _extensions;
@ -68,10 +68,10 @@ public:
} }
} }
std::string getExtensionName(uint8_t id) const const std::string& getExtensionName(uint8_t id) const
{ {
for(Extensions::const_iterator itr = _extensions.begin(); for(Extensions::const_iterator itr = _extensions.begin();
itr != _extensions.end(); ++itr) { itr != _extensions.end(); ++itr) {
const Extensions::value_type& p = *itr; const Extensions::value_type& p = *itr;
if(p.second == id) { if(p.second == id) {
return p.first; return p.first;
@ -88,4 +88,4 @@ public:
} // namespace aria2 } // namespace aria2
#endif // _D_EXTENDED_MESSAGING_AWARE_H_ #endif // _D_EXTENSION_MESSAGE_REGISTRY_H_

View File

@ -326,7 +326,6 @@ SRCS += PeerMessageUtil.cc PeerMessageUtil.h\
DefaultExtensionMessageFactory.cc DefaultExtensionMessageFactory.h\ DefaultExtensionMessageFactory.cc DefaultExtensionMessageFactory.h\
HandshakeExtensionMessage.cc HandshakeExtensionMessage.h\ HandshakeExtensionMessage.cc HandshakeExtensionMessage.h\
UTPexExtensionMessage.cc UTPexExtensionMessage.h\ UTPexExtensionMessage.cc UTPexExtensionMessage.h\
ExtendedMessagingAware.h\
DHTNode.cc DHTNode.h\ DHTNode.cc DHTNode.h\
DHTUtil.cc DHTUtil.h\ DHTUtil.cc DHTUtil.h\
DHTBucket.cc DHTBucket.h\ DHTBucket.cc DHTBucket.h\
@ -410,7 +409,8 @@ SRCS += PeerMessageUtil.cc PeerMessageUtil.h\
IndexBtMessage.cc IndexBtMessage.h\ IndexBtMessage.cc IndexBtMessage.h\
ZeroBtMessage.cc ZeroBtMessage.h\ ZeroBtMessage.cc ZeroBtMessage.h\
RangeBtMessageValidator.h\ RangeBtMessageValidator.h\
IndexBtMessageValidator.h IndexBtMessageValidator.h\
ExtensionMessageRegistry.h
endif # ENABLE_BITTORRENT endif # ENABLE_BITTORRENT
if ENABLE_METALINK if ENABLE_METALINK

View File

@ -127,7 +127,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@ DefaultExtensionMessageFactory.cc DefaultExtensionMessageFactory.h\ @ENABLE_BITTORRENT_TRUE@ DefaultExtensionMessageFactory.cc DefaultExtensionMessageFactory.h\
@ENABLE_BITTORRENT_TRUE@ HandshakeExtensionMessage.cc HandshakeExtensionMessage.h\ @ENABLE_BITTORRENT_TRUE@ HandshakeExtensionMessage.cc HandshakeExtensionMessage.h\
@ENABLE_BITTORRENT_TRUE@ UTPexExtensionMessage.cc UTPexExtensionMessage.h\ @ENABLE_BITTORRENT_TRUE@ UTPexExtensionMessage.cc UTPexExtensionMessage.h\
@ENABLE_BITTORRENT_TRUE@ ExtendedMessagingAware.h\
@ENABLE_BITTORRENT_TRUE@ DHTNode.cc DHTNode.h\ @ENABLE_BITTORRENT_TRUE@ DHTNode.cc DHTNode.h\
@ENABLE_BITTORRENT_TRUE@ DHTUtil.cc DHTUtil.h\ @ENABLE_BITTORRENT_TRUE@ DHTUtil.cc DHTUtil.h\
@ENABLE_BITTORRENT_TRUE@ DHTBucket.cc DHTBucket.h\ @ENABLE_BITTORRENT_TRUE@ DHTBucket.cc DHTBucket.h\
@ -211,7 +210,8 @@ bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@ IndexBtMessage.cc IndexBtMessage.h\ @ENABLE_BITTORRENT_TRUE@ IndexBtMessage.cc IndexBtMessage.h\
@ENABLE_BITTORRENT_TRUE@ ZeroBtMessage.cc ZeroBtMessage.h\ @ENABLE_BITTORRENT_TRUE@ ZeroBtMessage.cc ZeroBtMessage.h\
@ENABLE_BITTORRENT_TRUE@ RangeBtMessageValidator.h\ @ENABLE_BITTORRENT_TRUE@ RangeBtMessageValidator.h\
@ENABLE_BITTORRENT_TRUE@ IndexBtMessageValidator.h @ENABLE_BITTORRENT_TRUE@ IndexBtMessageValidator.h\
@ENABLE_BITTORRENT_TRUE@ ExtensionMessageRegistry.h
@ENABLE_METALINK_TRUE@am__append_11 = Metalinker.cc Metalinker.h\ @ENABLE_METALINK_TRUE@am__append_11 = Metalinker.cc Metalinker.h\
@ENABLE_METALINK_TRUE@ MetalinkEntry.cc MetalinkEntry.h\ @ENABLE_METALINK_TRUE@ MetalinkEntry.cc MetalinkEntry.h\
@ -475,13 +475,12 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
ExtensionMessageFactory.h DefaultExtensionMessageFactory.cc \ ExtensionMessageFactory.h DefaultExtensionMessageFactory.cc \
DefaultExtensionMessageFactory.h HandshakeExtensionMessage.cc \ DefaultExtensionMessageFactory.h HandshakeExtensionMessage.cc \
HandshakeExtensionMessage.h UTPexExtensionMessage.cc \ HandshakeExtensionMessage.h UTPexExtensionMessage.cc \
UTPexExtensionMessage.h ExtendedMessagingAware.h DHTNode.cc \ UTPexExtensionMessage.h DHTNode.cc DHTNode.h DHTUtil.cc \
DHTNode.h DHTUtil.cc DHTUtil.h DHTBucket.cc DHTBucket.h \ DHTUtil.h DHTBucket.cc DHTBucket.h DHTRoutingTable.cc \
DHTRoutingTable.cc DHTRoutingTable.h DHTMessageEntry.cc \ DHTRoutingTable.h DHTMessageEntry.cc DHTMessageEntry.h \
DHTMessageEntry.h DHTMessageDispatcher.h \ DHTMessageDispatcher.h DHTMessageDispatcherImpl.cc \
DHTMessageDispatcherImpl.cc DHTMessageDispatcherImpl.h \ DHTMessageDispatcherImpl.h DHTMessageReceiver.cc \
DHTMessageReceiver.cc DHTMessageReceiver.h \ DHTMessageReceiver.h DHTMessageTracker.cc DHTMessageTracker.h \
DHTMessageTracker.cc DHTMessageTracker.h \
DHTMessageTrackerEntry.cc DHTMessageTrackerEntry.h \ DHTMessageTrackerEntry.cc DHTMessageTrackerEntry.h \
DHTMessage.cc DHTMessage.h DHTConnection.h \ DHTMessage.cc DHTMessage.h DHTConnection.h \
DHTConnectionImpl.cc DHTConnectionImpl.h DHTAbstractMessage.cc \ DHTConnectionImpl.cc DHTConnectionImpl.h DHTAbstractMessage.cc \
@ -533,9 +532,9 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
BtSeederStateChoke.h RangeBtMessage.cc RangeBtMessage.h \ BtSeederStateChoke.h RangeBtMessage.cc RangeBtMessage.h \
IndexBtMessage.cc IndexBtMessage.h ZeroBtMessage.cc \ IndexBtMessage.cc IndexBtMessage.h ZeroBtMessage.cc \
ZeroBtMessage.h RangeBtMessageValidator.h \ ZeroBtMessage.h RangeBtMessageValidator.h \
IndexBtMessageValidator.h Metalinker.cc Metalinker.h \ IndexBtMessageValidator.h ExtensionMessageRegistry.h \
MetalinkEntry.cc MetalinkEntry.h MetalinkResource.cc \ Metalinker.cc Metalinker.h MetalinkEntry.cc MetalinkEntry.h \
MetalinkResource.h MetalinkProcessor.h \ MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
MetalinkProcessorFactory.cc MetalinkProcessorFactory.h \ MetalinkProcessorFactory.cc MetalinkProcessorFactory.h \
MetalinkParserController.cc MetalinkParserController.h \ MetalinkParserController.cc MetalinkParserController.h \
MetalinkParserStateMachine.cc MetalinkParserStateMachine.h \ MetalinkParserStateMachine.cc MetalinkParserStateMachine.h \

View File

@ -69,6 +69,7 @@
#include "BtProgressInfoFile.h" #include "BtProgressInfoFile.h"
#include "DefaultExtensionMessageFactory.h" #include "DefaultExtensionMessageFactory.h"
#include "RequestGroupMan.h" #include "RequestGroupMan.h"
#include "ExtensionMessageRegistry.h"
namespace aria2 { namespace aria2 {
@ -102,8 +103,11 @@ PeerInteractionCommand::PeerInteractionCommand
SharedHandle<PeerStorage> peerStorage = SharedHandle<PeerStorage> peerStorage =
btRegistry->getPeerStorage(_btContext->getInfoHashAsString()); btRegistry->getPeerStorage(_btContext->getInfoHashAsString());
SharedHandle<ExtensionMessageRegistry> exMsgRegistry
(new ExtensionMessageRegistry());
SharedHandle<DefaultExtensionMessageFactory> extensionMessageFactory SharedHandle<DefaultExtensionMessageFactory> extensionMessageFactory
(new DefaultExtensionMessageFactory(_btContext, peer)); (new DefaultExtensionMessageFactory(_btContext, peer, exMsgRegistry));
extensionMessageFactory->setPeerStorage(peerStorage); extensionMessageFactory->setPeerStorage(peerStorage);
SharedHandle<DefaultBtMessageFactory> factory(new DefaultBtMessageFactory()); SharedHandle<DefaultBtMessageFactory> factory(new DefaultBtMessageFactory());
@ -164,6 +168,7 @@ PeerInteractionCommand::PeerInteractionCommand
btInteractive->setBtRequestFactory(reqFactory); btInteractive->setBtRequestFactory(reqFactory);
btInteractive->setPeerConnection(peerConnection); btInteractive->setPeerConnection(peerConnection);
btInteractive->setExtensionMessageFactory(extensionMessageFactory); btInteractive->setExtensionMessageFactory(extensionMessageFactory);
btInteractive->setExtensionMessageRegistry(exMsgRegistry);
btInteractive->setKeepAliveInterval btInteractive->setKeepAliveInterval
(e->option->getAsInt(PREF_BT_KEEP_ALIVE_INTERVAL)); (e->option->getAsInt(PREF_BT_KEEP_ALIVE_INTERVAL));
btInteractive->setRequestGroupMan(e->_requestGroupMan); btInteractive->setRequestGroupMan(e->_requestGroupMan);

View File

@ -12,6 +12,7 @@
#include "UTPexExtensionMessage.h" #include "UTPexExtensionMessage.h"
#include "Exception.h" #include "Exception.h"
#include "FileEntry.h" #include "FileEntry.h"
#include "ExtensionMessageRegistry.h"
namespace aria2 { namespace aria2 {
@ -27,6 +28,7 @@ private:
SharedHandle<MockPeerStorage> _peerStorage; SharedHandle<MockPeerStorage> _peerStorage;
SharedHandle<Peer> _peer; SharedHandle<Peer> _peer;
SharedHandle<DefaultExtensionMessageFactory> _factory; SharedHandle<DefaultExtensionMessageFactory> _factory;
SharedHandle<ExtensionMessageRegistry> _registry;
public: public:
void setUp() void setUp()
{ {
@ -41,10 +43,13 @@ public:
_peer->allocateSessionResource(1024, 1024*1024); _peer->allocateSessionResource(1024, 1024*1024);
_peer->setExtension("ut_pex", 1); _peer->setExtension("ut_pex", 1);
_registry.reset(new ExtensionMessageRegistry());
_factory.reset(new DefaultExtensionMessageFactory()); _factory.reset(new DefaultExtensionMessageFactory());
_factory->setBtContext(_btContext); _factory->setBtContext(_btContext);
_factory->setPeerStorage(_peerStorage); _factory->setPeerStorage(_peerStorage);
_factory->setPeer(_peer); _factory->setPeer(_peer);
_factory->setExtensionMessageRegistry(_registry);
} }
void testCreateMessage_unknown(); void testCreateMessage_unknown();
@ -95,7 +100,7 @@ void DefaultExtensionMessageFactoryTest::testCreateMessage_UTPex()
PeerMessageUtil::createcompact(c3, "192.168.0.2", 6882); PeerMessageUtil::createcompact(c3, "192.168.0.2", 6882);
PeerMessageUtil::createcompact(c4, "10.1.1.3",10000); PeerMessageUtil::createcompact(c4, "10.1.1.3",10000);
char id[1] = { _factory->getExtensionMessageID("ut_pex") }; char id[1] = { _registry->getExtensionMessageID("ut_pex") };
std::string data = std::string(&id[0], &id[1])+"d5:added12:"+ std::string data = std::string(&id[0], &id[1])+"d5:added12:"+
std::string(&c1[0], &c1[6])+std::string(&c2[0], &c2[6])+ std::string(&c1[0], &c1[6])+std::string(&c2[0], &c2[6])+
@ -107,7 +112,7 @@ void DefaultExtensionMessageFactoryTest::testCreateMessage_UTPex()
(dynamic_pointer_cast<UTPexExtensionMessage> (dynamic_pointer_cast<UTPexExtensionMessage>
(_factory->createMessage (_factory->createMessage
(reinterpret_cast<const unsigned char*>(data.c_str()), data.size()))); (reinterpret_cast<const unsigned char*>(data.c_str()), data.size())));
CPPUNIT_ASSERT_EQUAL(_factory->getExtensionMessageID("ut_pex"), CPPUNIT_ASSERT_EQUAL(_registry->getExtensionMessageID("ut_pex"),
m->getExtensionMessageID()); m->getExtensionMessageID());
} }