summaryrefslogtreecommitdiff
path: root/src/DHTMessageFactoryImpl.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-02-05 14:15:50 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-02-05 14:15:50 +0000
commitbdb1a25ca71f6f81a504f7ad694931afbdb6c007 (patch)
treeb87c6a550d681b76e00180a548f74e31f21b8890 /src/DHTMessageFactoryImpl.cc
parent20621d011da3bf96560557d82919911805e0892a (diff)
2008-02-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Catch exception inside DHTMessageReceiver::receiveMessage(). Log unknown message. * src/DHTMessageReceiver.{h, cc} * src/DHTMessageFactory.h * src/DHTMessageFactoryImpl.{h, cc} * src/DHTMessageTracker.cc (handleTimeout): Catch and handle exception. * src/DHTInteractionCommand.cc * src/DHTUnknownMessage.{h, cc} * test/DHTUnknownMessageTest.cc * test/MockDHTMessageFactory.h
Diffstat (limited to 'src/DHTMessageFactoryImpl.cc')
-rw-r--r--src/DHTMessageFactoryImpl.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/DHTMessageFactoryImpl.cc b/src/DHTMessageFactoryImpl.cc
index 12bf3d65..b3ffe51c 100644
--- a/src/DHTMessageFactoryImpl.cc
+++ b/src/DHTMessageFactoryImpl.cc
@@ -48,6 +48,7 @@
#include "DHTGetPeersReplyMessage.h"
#include "DHTAnnouncePeerMessage.h"
#include "DHTAnnouncePeerReplyMessage.h"
+#include "DHTUnknownMessage.h"
#include "DHTConnection.h"
#include "DHTMessageDispatcher.h"
#include "DHTPeerAnnounceStorage.h"
@@ -387,6 +388,16 @@ DHTMessageFactoryImpl::createAnnouncePeerReplyMessage(const DHTNodeHandle& remot
return m;
}
+DHTMessageHandle
+DHTMessageFactoryImpl::createUnknownMessage(const char* data, size_t length,
+ const string& ipaddr, uint16_t port)
+
+{
+ SharedHandle<DHTUnknownMessage> m =
+ new DHTUnknownMessage(_localNode, data, length, ipaddr, port);
+ return m;
+}
+
void DHTMessageFactoryImpl::setRoutingTable(const DHTRoutingTableHandle& routingTable)
{
_routingTable = routingTable;