diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-04 16:24:03 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-04 16:24:03 +0000 |
| commit | 8b73c2843f659fe6cafd94534481e371888f0b5e (patch) | |
| tree | a228c40972e5a2053ef2837b8df7687019f99d9f /src/BtHandshakeMessage.cc | |
| parent | 5d05ef0e756a7c52673fcf78b4ab8c9ccee2154d (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/BtHandshakeMessage.cc')
| -rw-r--r-- | src/BtHandshakeMessage.cc | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/BtHandshakeMessage.cc b/src/BtHandshakeMessage.cc index c2cf0cec..715a717c 100644 --- a/src/BtHandshakeMessage.cc +++ b/src/BtHandshakeMessage.cc @@ -62,7 +62,6 @@ BtHandshakeMessage::BtHandshakeMessage(const unsigned char* infoHash, } void BtHandshakeMessage::init() { - msg = 0; this->pstrlen = 19; pstr = new unsigned char[PSTR_LENGTH]; reserved = new unsigned char[RESERVED_LENGTH]; @@ -88,15 +87,14 @@ BtHandshakeMessage::create(const unsigned char* data, size_t dataLength) return message; } -const unsigned char* BtHandshakeMessage::getMessage() { - if(!msg) { - msg = new unsigned char[MESSAGE_LENGTH]; - msg[0] = pstrlen; - memcpy(msg+1, pstr, PSTR_LENGTH); - memcpy(msg+20, reserved, RESERVED_LENGTH); - memcpy(msg+28, infoHash, INFO_HASH_LENGTH); - memcpy(msg+48, peerId, PEER_ID_LENGTH); - } +unsigned char* BtHandshakeMessage::createMessage() +{ + unsigned char* msg = new unsigned char[MESSAGE_LENGTH]; + msg[0] = pstrlen; + memcpy(msg+1, pstr, PSTR_LENGTH); + memcpy(msg+20, reserved, RESERVED_LENGTH); + memcpy(msg+28, infoHash, INFO_HASH_LENGTH); + memcpy(msg+48, peerId, PEER_ID_LENGTH); return msg; } |
