summaryrefslogtreecommitdiff
path: root/src/IndexBtMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-03-04 16:24:03 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-03-04 16:24:03 +0000
commit8b73c2843f659fe6cafd94534481e371888f0b5e (patch)
treea228c40972e5a2053ef2837b8df7687019f99d9f /src/IndexBtMessage.cc
parent5d05ef0e756a7c52673fcf78b4ab8c9ccee2154d (diff)
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reduced copying/std::string instantiation in sending/receiving BitTorrent messages. * src/BtBitfieldMessage.cc * src/BtBitfieldMessage.h * src/BtExtendedMessage.cc * src/BtExtendedMessage.h * src/BtHandshakeMessage.cc * src/BtHandshakeMessage.h * src/BtKeepAliveMessage.cc * src/BtKeepAliveMessage.h * src/BtPieceMessage.cc * src/BtPieceMessage.h * src/BtPortMessage.cc * src/BtPortMessage.h * src/BtUnchokeMessage.h * src/DefaultBtMessageReceiver.cc * src/IndexBtMessage.cc * src/IndexBtMessage.h * src/PeerConnection.cc * src/PeerConnection.h * src/RangeBtMessage.cc * src/RangeBtMessage.h * src/SimpleBtMessage.cc * src/SimpleBtMessage.h * src/SocketBuffer.cc * src/SocketBuffer.h * src/ZeroBtMessage.cc * src/ZeroBtMessage.h * test/BtAllowedFastMessageTest.cc * test/BtBitfieldMessageTest.cc * test/BtCancelMessageTest.cc * test/BtChokeMessageTest.cc * test/BtExtendedMessageTest.cc * test/BtHandshakeMessageTest.cc * test/BtHaveAllMessageTest.cc * test/BtHaveMessageTest.cc * test/BtHaveNoneMessageTest.cc * test/BtInterestedMessageTest.cc * test/BtKeepAliveMessageTest.cc * test/BtNotInterestedMessageTest.cc * test/BtPieceMessageTest.cc * test/BtPortMessageTest.cc * test/BtRejectMessageTest.cc * test/BtRequestMessageTest.cc * test/BtSuggestPieceMessageTest.cc * test/BtUnchokeMessageTest.cc
Diffstat (limited to 'src/IndexBtMessage.cc')
-rw-r--r--src/IndexBtMessage.cc24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/IndexBtMessage.cc b/src/IndexBtMessage.cc
index bede58fb..66d5d430 100644
--- a/src/IndexBtMessage.cc
+++ b/src/IndexBtMessage.cc
@@ -39,20 +39,18 @@
namespace aria2 {
-const unsigned char* IndexBtMessage::getMessage()
+unsigned char* IndexBtMessage::createMessage()
{
- if(!_msg) {
- /**
- * len --- 5, 4bytes
- * id --- ?, 1byte
- * piece index --- index, 4bytes
- * total: 9bytes
- */
- _msg = new unsigned char[MESSAGE_LENGTH];
- bittorrent::createPeerMessageString(_msg, MESSAGE_LENGTH, 5, getId());
- bittorrent::setIntParam(&_msg[5], _index);
- }
- return _msg;
+ /**
+ * len --- 5, 4bytes
+ * id --- ?, 1byte
+ * piece index --- index, 4bytes
+ * total: 9bytes
+ */
+ unsigned char* msg = new unsigned char[MESSAGE_LENGTH];
+ bittorrent::createPeerMessageString(msg, MESSAGE_LENGTH, 5, getId());
+ bittorrent::setIntParam(&msg[5], _index);
+ return msg;
}
size_t IndexBtMessage::getMessageLength()