|
@@ -60,7 +60,7 @@ PeerListenCommand* PeerListenCommand::__instance = 0;
|
|
|
|
|
|
PeerListenCommand::PeerListenCommand(cuid_t cuid, DownloadEngine* e):
|
|
|
Command(cuid),
|
|
|
- e(e),
|
|
|
+ _e(e),
|
|
|
_lowestSpeedLimit(20*1024)
|
|
|
{
|
|
|
++__numInstance;
|
|
@@ -73,7 +73,7 @@ PeerListenCommand::~PeerListenCommand()
|
|
|
|
|
|
bool PeerListenCommand::bindPort(uint16_t& port, IntSequence& seq)
|
|
|
{
|
|
|
- socket.reset(new SocketCore());
|
|
|
+ _socket.reset(new SocketCore());
|
|
|
|
|
|
std::vector<int32_t> randPorts = seq.flush();
|
|
|
std::random_shuffle(randPorts.begin(), randPorts.end(),
|
|
@@ -86,15 +86,15 @@ bool PeerListenCommand::bindPort(uint16_t& port, IntSequence& seq)
|
|
|
}
|
|
|
port = (*portItr);
|
|
|
try {
|
|
|
- socket->bind(port);
|
|
|
- socket->beginListen();
|
|
|
- socket->setNonBlockingMode();
|
|
|
+ _socket->bind(port);
|
|
|
+ _socket->beginListen();
|
|
|
+ _socket->setNonBlockingMode();
|
|
|
getLogger()->notice("BitTorrent: listening to port %d", port);
|
|
|
return true;
|
|
|
} catch(RecoverableException& ex) {
|
|
|
getLogger()->error(MSG_BIND_FAILURE, ex,
|
|
|
util::itos(getCuid()).c_str(), port);
|
|
|
- socket->closeConnection();
|
|
|
+ _socket->closeConnection();
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
@@ -102,33 +102,33 @@ bool PeerListenCommand::bindPort(uint16_t& port, IntSequence& seq)
|
|
|
|
|
|
uint16_t PeerListenCommand::getPort() const
|
|
|
{
|
|
|
- if(socket.isNull()) {
|
|
|
+ if(_socket.isNull()) {
|
|
|
return 0;
|
|
|
} else {
|
|
|
std::pair<std::string, uint16_t> addr;
|
|
|
- socket->getAddrInfo(addr);
|
|
|
+ _socket->getAddrInfo(addr);
|
|
|
return addr.second;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
bool PeerListenCommand::execute() {
|
|
|
- if(e->isHaltRequested() || e->getRequestGroupMan()->downloadFinished()) {
|
|
|
+ if(_e->isHaltRequested() || _e->getRequestGroupMan()->downloadFinished()) {
|
|
|
return true;
|
|
|
}
|
|
|
- for(int i = 0; i < 3 && socket->isReadable(0); ++i) {
|
|
|
+ for(int i = 0; i < 3 && _socket->isReadable(0); ++i) {
|
|
|
SocketHandle peerSocket;
|
|
|
try {
|
|
|
- peerSocket.reset(socket->acceptConnection());
|
|
|
+ peerSocket.reset(_socket->acceptConnection());
|
|
|
std::pair<std::string, uint16_t> peerInfo;
|
|
|
peerSocket->getPeerInfo(peerInfo);
|
|
|
|
|
|
peerSocket->setNonBlockingMode();
|
|
|
|
|
|
SharedHandle<Peer> peer(new Peer(peerInfo.first, peerInfo.second, true));
|
|
|
- cuid_t cuid = e->newCUID();
|
|
|
+ cuid_t cuid = _e->newCUID();
|
|
|
Command* command =
|
|
|
- new ReceiverMSEHandshakeCommand(cuid, peer, e, peerSocket);
|
|
|
- e->addCommand(command);
|
|
|
+ new ReceiverMSEHandshakeCommand(cuid, peer, _e, peerSocket);
|
|
|
+ _e->addCommand(command);
|
|
|
if(getLogger()->debug()) {
|
|
|
getLogger()->debug("Accepted the connection from %s:%u.",
|
|
|
peer->ipaddr.c_str(),
|
|
@@ -140,7 +140,7 @@ bool PeerListenCommand::execute() {
|
|
|
getLogger()->debug(MSG_ACCEPT_FAILURE, ex, util::itos(getCuid()).c_str());
|
|
|
}
|
|
|
}
|
|
|
- e->addCommand(this);
|
|
|
+ _e->addCommand(this);
|
|
|
return false;
|
|
|
}
|
|
|
|