diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-06-22 15:26:18 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-06-22 15:26:18 +0000 |
| commit | d02d80d9e99e81e06cfb560487a46ed9eed092a2 (patch) | |
| tree | 940626013de8fcf7ba672f977766575103847978 /src/PeerInteractionCommand.cc | |
| parent | 70ff0c0b3b10e5b58714757a3b6aa55e2569c511 (diff) | |
2006-06-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To make a listening socket non-block:
* src/SocketCore.h
(setNonBlockingMode): New function.
* src/SocketCore.cc
(setNonBlockingMode): New function.
(beginListen): Added a call to setNonBlockingMode().
(acceptConnection): Call setNonBlockingMode().
(setBlockingMode): Updated.
To handle tracker's NAT-checking:
* src/PeerConnection.cc
(receiveHandshake): 'msg' param is filled with received data and
its length is assigned to 'length' param, even if all handshake
message is not yet received.
* src/PeerInteractionCommand.cc
(executeInternal): Use peerInteraction->receiveHandshake(true)
when
a new peer connects to localhost.
A call to peerInteraction->sendHandshake() was removed because
it is called from peerInteraction->receiveHandshake(true).
* src/PeerInteraction.h
(quickReplied): New variable.
(receiveHandshake): Added an argument.
* src/PeerInteraction.cc
(PeerInteraction): Added the initialization of quickReplied.
(receiveHandshake): Send handshake message as soon as the info
hash
in a handshake message from a peer is correct.
To change the random part of peer id and key parameter:
* src/TorrentMan.h
(key): New variable.
* src/TorrentMan.cc
(setupInternal1): Use Util::randomAlpha() to generate random
part
of peer id, which is now "-aria2-"+13 alphabet
characters([A-Za-z]).
key is also generated by Util::randomAlpha() and it is now 8
character
long.
* src/Util.h
(randomAlpha): New function.
* src/Util.cc
(randomAlpha): New function.
* src/TrackerWatcherCommand.cc
(execute): In a tracker request: Use torrentMan->key as key
parameter.
Added no_peer_id=1.
Set snubbing flag to false when a choke message is received from
a
snubbed peer.
* src/ChokeMessage.cc
(receivedAction): Set snubbing flag to false.
Diffstat (limited to 'src/PeerInteractionCommand.cc')
| -rw-r--r-- | src/PeerInteractionCommand.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index e6b75b2a..89d536fd 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -89,7 +89,8 @@ bool PeerInteractionCommand::executeInternal() { break; } case RECEIVER_WAIT_HANDSHAKE: { - HandshakeMessage* handshakeMessage = peerInteraction->receiveHandshake(); + HandshakeMessage* handshakeMessage = + peerInteraction->receiveHandshake(true); if(handshakeMessage == NULL) { break; } @@ -98,7 +99,6 @@ bool PeerInteractionCommand::executeInternal() { peer->ipaddr.c_str(), peer->port, handshakeMessage->toString().c_str()); delete handshakeMessage; - peerInteraction->sendHandshake(); haveCheckTime.reset(); peerInteraction->sendBitfield(); peerInteraction->sendAllowedFast(); |
