diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-06-13 11:25:21 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-06-13 11:25:21 +0000 |
| commit | 3dfbec0f9ff13c660252d20dce17c88041280019 (patch) | |
| tree | f8197ebb95b99bb861e81236334d268e45d571a7 /src/DHTPingTask.cc | |
| parent | 532fc3724d5ece7a7a02cbe3b8db24d85da69626 (diff) | |
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten DHTMessageCallback using Visitor pattern. Eliminated
dynamic_pointer_cast.
* src/DHTMessageCallbackImpl.cc: Removed
* src/DHTMessageReceiver.cc
* src/DHTAbstractNodeLookupTask.h
* src/DHTAnnouncePeerReplyMessage.h
* src/DHTReplaceNodeTask.h
* src/DHTFindNodeReplyMessage.cc
* src/DHTGetPeersReplyMessage.h
* src/DHTPeerLookupTask.h
* src/DHTMessageCallbackImpl.h: Removed
* src/DHTMessageFactory.h
* src/DHTNodeLookupTaskCallback.h
* src/DHTMessageTracker.h
* src/DHTMessageCallbackListener.h: Removed
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessageCallback.h
* src/DHTAnnouncePeerReplyMessage.cc
* src/DHTNodeLookupTask.h
* src/DHTReplaceNodeTask.cc
* src/DHTPeerLookupTaskCallback.cc
* src/DHTMessageTracker.cc
* src/DHTPingReplyMessage.cc
* src/DHTPingTask.cc
* src/DHTMessageFactoryImpl.h
* src/Makefile.am
* src/DHTNodeLookupTask.cc
* src/DHTPeerLookupTaskCallback.h
* src/DHTPeerLookupTask.cc
* src/DHTMessageReceiver.h
* src/DHTMessageFactoryImpl.cc
* src/DHTResponseMessage.h
* src/DHTFindNodeReplyMessage.h
* src/DHTPingReplyMessageCallback.h
* src/Makefile.in
* src/DHTBucketRefreshTask.cc
* src/DHTNodeLookupTaskCallback.cc
* src/DHTPingTask.h
* src/DHTPingReplyMessage.h
* src/DHTAbstractNodeLookupTask.cc: Removed
* test/DHTMessageTrackerTest.cc
* test/DHTPingMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/MockDHTMessage.h
* test/MockDHTMessageFactory.h
* test/DHTFindNodeMessageTest.cc
* test/MockDHTMessageCallback.h
* test/DHTAnnouncePeerMessageTest.cc
Diffstat (limited to 'src/DHTPingTask.cc')
| -rw-r--r-- | src/DHTPingTask.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/DHTPingTask.cc b/src/DHTPingTask.cc index cdae2948..f58b9067 100644 --- a/src/DHTPingTask.cc +++ b/src/DHTPingTask.cc @@ -33,12 +33,13 @@ */ /* copyright --> */ #include "DHTPingTask.h" -#include "DHTMessageCallbackImpl.h" #include "DHTMessage.h" #include "DHTMessageFactory.h" #include "DHTMessageDispatcher.h" #include "DHTNode.h" #include "DHTConstants.h" +#include "DHTPingReplyMessageCallback.h" +#include "DHTQueryMessage.h" namespace aria2 { @@ -53,17 +54,21 @@ DHTPingTask::DHTPingTask DHTPingTask::~DHTPingTask() {} -void DHTPingTask::startup() +void DHTPingTask::addMessage() { SharedHandle<DHTMessage> m = getMessageFactory()->createPingMessage(_remoteNode); - WeakHandle<DHTMessageCallbackListener> listener(this); SharedHandle<DHTMessageCallback> callback - (new DHTMessageCallbackImpl(listener)); + (new DHTPingReplyMessageCallback<DHTPingTask>(this)); getMessageDispatcher()->addMessageToQueue(m, _timeout, callback); } -void DHTPingTask::onReceived(const SharedHandle<DHTMessage>& message) +void DHTPingTask::startup() +{ + addMessage(); +} + +void DHTPingTask::onReceived(const DHTPingReplyMessage* message) { _pingSuccessful = true; setFinished(true); @@ -76,12 +81,7 @@ void DHTPingTask::onTimeout(const SharedHandle<DHTNode>& node) _pingSuccessful = false; setFinished(true); } else { - SharedHandle<DHTMessage> m = - getMessageFactory()->createPingMessage(_remoteNode); - WeakHandle<DHTMessageCallbackListener> listener(this); - SharedHandle<DHTMessageCallback> callback - (new DHTMessageCallbackImpl(listener)); - getMessageDispatcher()->addMessageToQueue(m, _timeout, callback); + addMessage(); } } |
