diff options
Diffstat (limited to 'src/DHTAbstractMessage.cc')
| -rw-r--r-- | src/DHTAbstractMessage.cc | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/DHTAbstractMessage.cc b/src/DHTAbstractMessage.cc index 3a25ef63..41c67f27 100644 --- a/src/DHTAbstractMessage.cc +++ b/src/DHTAbstractMessage.cc @@ -37,14 +37,12 @@ #include <cassert> #include "DHTNode.h" -#include "BencodeVisitor.h" #include "DHTConnection.h" -#include "Dictionary.h" -#include "Data.h" #include "DHTMessageDispatcher.h" #include "DHTMessageFactory.h" #include "DHTRoutingTable.h" #include "DHTMessageCallback.h" +#include "bencode.h" namespace aria2 { @@ -57,14 +55,11 @@ DHTAbstractMessage::~DHTAbstractMessage() {} std::string DHTAbstractMessage::getBencodedMessage() { - SharedHandle<Dictionary> msg(new Dictionary()); - msg->put(DHTMessage::T, new Data(_transactionID)); - msg->put(DHTMessage::Y, new Data(getType())); - fillMessage(msg.get()); - - BencodeVisitor v; - msg->accept(&v); - return v.getBencodedData(); + bencode::BDE msgDict = bencode::BDE::dict(); + msgDict[T] = _transactionID; + msgDict[Y] = getType(); + fillMessage(msgDict); + return bencode::encode(msgDict); } bool DHTAbstractMessage::send() |
