mirror of https://github.com/aria2/aria2
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variables. * src/DefaultBtMessageReceiver.cc * src/DefaultBtMessageReceiver.h * src/PeerInteractionCommand.ccpull/1/head
parent
4e071bfb62
commit
d4eebc843a
|
@ -1,3 +1,10 @@
|
||||||
|
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Renamed member variables. Removed unused member variables.
|
||||||
|
* src/DefaultBtMessageReceiver.cc
|
||||||
|
* src/DefaultBtMessageReceiver.h
|
||||||
|
* src/PeerInteractionCommand.cc
|
||||||
|
|
||||||
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Renamed member variables
|
Renamed member variables
|
||||||
|
|
|
@ -51,31 +51,18 @@
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
DefaultBtMessageReceiver::DefaultBtMessageReceiver():
|
DefaultBtMessageReceiver::DefaultBtMessageReceiver():
|
||||||
cuid(0),
|
_handshakeSent(false)
|
||||||
handshakeSent(false),
|
{}
|
||||||
logger(LogFactory::getInstance())
|
|
||||||
{
|
|
||||||
if(logger->debug()) {
|
|
||||||
logger->debug("DefaultBtMessageReceiver::instantiated");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DefaultBtMessageReceiver::~DefaultBtMessageReceiver()
|
|
||||||
{
|
|
||||||
if(logger->debug()) {
|
|
||||||
logger->debug("DefaultBtMessageReceiver::deleted");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SharedHandle<BtHandshakeMessage>
|
SharedHandle<BtHandshakeMessage>
|
||||||
DefaultBtMessageReceiver::receiveHandshake(bool quickReply)
|
DefaultBtMessageReceiver::receiveHandshake(bool quickReply)
|
||||||
{
|
{
|
||||||
unsigned char data[BtHandshakeMessage::MESSAGE_LENGTH];
|
unsigned char data[BtHandshakeMessage::MESSAGE_LENGTH];
|
||||||
size_t dataLength = BtHandshakeMessage::MESSAGE_LENGTH;
|
size_t dataLength = BtHandshakeMessage::MESSAGE_LENGTH;
|
||||||
bool retval = peerConnection->receiveHandshake(data, dataLength);
|
bool retval = _peerConnection->receiveHandshake(data, dataLength);
|
||||||
// To handle tracker's NAT-checking feature
|
// To handle tracker's NAT-checking feature
|
||||||
if(!handshakeSent && quickReply && dataLength >= 48) {
|
if(!_handshakeSent && quickReply && dataLength >= 48) {
|
||||||
handshakeSent = true;
|
_handshakeSent = true;
|
||||||
// check info_hash
|
// check info_hash
|
||||||
if(memcmp(bittorrent::getInfoHash(_downloadContext), &data[28],
|
if(memcmp(bittorrent::getInfoHash(_downloadContext), &data[28],
|
||||||
INFO_HASH_LENGTH) == 0) {
|
INFO_HASH_LENGTH) == 0) {
|
||||||
|
@ -85,7 +72,8 @@ DefaultBtMessageReceiver::receiveHandshake(bool quickReply)
|
||||||
if(!retval) {
|
if(!retval) {
|
||||||
return SharedHandle<BtHandshakeMessage>();
|
return SharedHandle<BtHandshakeMessage>();
|
||||||
}
|
}
|
||||||
SharedHandle<BtHandshakeMessage> msg = messageFactory->createHandshakeMessage(data, dataLength);
|
SharedHandle<BtHandshakeMessage> msg =
|
||||||
|
_messageFactory->createHandshakeMessage(data, dataLength);
|
||||||
msg->validate();
|
msg->validate();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
@ -98,25 +86,25 @@ DefaultBtMessageReceiver::receiveAndSendHandshake()
|
||||||
|
|
||||||
void DefaultBtMessageReceiver::sendHandshake() {
|
void DefaultBtMessageReceiver::sendHandshake() {
|
||||||
SharedHandle<BtMessage> msg =
|
SharedHandle<BtMessage> msg =
|
||||||
messageFactory->createHandshakeMessage
|
_messageFactory->createHandshakeMessage
|
||||||
(bittorrent::getInfoHash(_downloadContext), bittorrent::getStaticPeerId());
|
(bittorrent::getInfoHash(_downloadContext), bittorrent::getStaticPeerId());
|
||||||
dispatcher->addMessageToQueue(msg);
|
_dispatcher->addMessageToQueue(msg);
|
||||||
dispatcher->sendMessages();
|
_dispatcher->sendMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
BtMessageHandle DefaultBtMessageReceiver::receiveMessage() {
|
BtMessageHandle DefaultBtMessageReceiver::receiveMessage() {
|
||||||
size_t dataLength = 0;
|
size_t dataLength = 0;
|
||||||
// Give 0 to PeerConnection::receiveMessage() to prevent memcpy.
|
// Give 0 to PeerConnection::receiveMessage() to prevent memcpy.
|
||||||
if(!peerConnection->receiveMessage(0, dataLength)) {
|
if(!_peerConnection->receiveMessage(0, dataLength)) {
|
||||||
return SharedHandle<BtMessage>();
|
return SharedHandle<BtMessage>();
|
||||||
}
|
}
|
||||||
BtMessageHandle msg =
|
BtMessageHandle msg =
|
||||||
messageFactory->createBtMessage(peerConnection->getBuffer(), dataLength);
|
_messageFactory->createBtMessage(_peerConnection->getBuffer(), dataLength);
|
||||||
msg->validate();
|
msg->validate();
|
||||||
if(msg->getId() == BtPieceMessage::ID) {
|
if(msg->getId() == BtPieceMessage::ID) {
|
||||||
SharedHandle<BtPieceMessage> piecemsg =
|
SharedHandle<BtPieceMessage> piecemsg =
|
||||||
dynamic_pointer_cast<BtPieceMessage>(msg);
|
dynamic_pointer_cast<BtPieceMessage>(msg);
|
||||||
piecemsg->setRawMessage(peerConnection->detachBuffer());
|
piecemsg->setRawMessage(_peerConnection->detachBuffer());
|
||||||
}
|
}
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
@ -127,24 +115,22 @@ void DefaultBtMessageReceiver::setDownloadContext
|
||||||
_downloadContext = downloadContext;
|
_downloadContext = downloadContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DefaultBtMessageReceiver::setPeer(const SharedHandle<Peer>& peer)
|
void DefaultBtMessageReceiver::setPeerConnection
|
||||||
|
(const WeakHandle<PeerConnection>& peerConnection)
|
||||||
{
|
{
|
||||||
this->peer = peer;
|
_peerConnection = peerConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DefaultBtMessageReceiver::setPeerConnection(const WeakHandle<PeerConnection>& peerConnection)
|
void DefaultBtMessageReceiver::setDispatcher
|
||||||
|
(const WeakHandle<BtMessageDispatcher>& dispatcher)
|
||||||
{
|
{
|
||||||
this->peerConnection = peerConnection;
|
_dispatcher = dispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DefaultBtMessageReceiver::setDispatcher(const WeakHandle<BtMessageDispatcher>& dispatcher)
|
void DefaultBtMessageReceiver::setBtMessageFactory
|
||||||
|
(const WeakHandle<BtMessageFactory>& factory)
|
||||||
{
|
{
|
||||||
this->dispatcher = dispatcher;
|
_messageFactory = factory;
|
||||||
}
|
|
||||||
|
|
||||||
void DefaultBtMessageReceiver::setBtMessageFactory(const WeakHandle<BtMessageFactory>& factory)
|
|
||||||
{
|
|
||||||
this->messageFactory = factory;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace aria2
|
} // namespace aria2
|
||||||
|
|
|
@ -49,41 +49,25 @@ class Logger;
|
||||||
|
|
||||||
class DefaultBtMessageReceiver : public BtMessageReceiver {
|
class DefaultBtMessageReceiver : public BtMessageReceiver {
|
||||||
private:
|
private:
|
||||||
cuid_t cuid;
|
bool _handshakeSent;
|
||||||
bool handshakeSent;
|
|
||||||
SharedHandle<DownloadContext> _downloadContext;
|
SharedHandle<DownloadContext> _downloadContext;
|
||||||
SharedHandle<Peer> peer;
|
WeakHandle<PeerConnection> _peerConnection;
|
||||||
WeakHandle<PeerConnection> peerConnection;
|
WeakHandle<BtMessageDispatcher> _dispatcher;
|
||||||
WeakHandle<BtMessageDispatcher> dispatcher;
|
WeakHandle<BtMessageFactory> _messageFactory;
|
||||||
WeakHandle<BtMessageFactory> messageFactory;
|
|
||||||
Logger* logger;
|
|
||||||
|
|
||||||
void sendHandshake();
|
void sendHandshake();
|
||||||
public:
|
public:
|
||||||
DefaultBtMessageReceiver();
|
DefaultBtMessageReceiver();
|
||||||
|
|
||||||
virtual ~DefaultBtMessageReceiver();
|
virtual SharedHandle<BtHandshakeMessage> receiveHandshake
|
||||||
|
(bool quickReply = false);
|
||||||
virtual SharedHandle<BtHandshakeMessage> receiveHandshake(bool quickReply = false);
|
|
||||||
|
|
||||||
virtual SharedHandle<BtHandshakeMessage> receiveAndSendHandshake();
|
virtual SharedHandle<BtHandshakeMessage> receiveAndSendHandshake();
|
||||||
|
|
||||||
virtual SharedHandle<BtMessage> receiveMessage();
|
virtual SharedHandle<BtMessage> receiveMessage();
|
||||||
|
|
||||||
void setCuid(cuid_t cuid)
|
|
||||||
{
|
|
||||||
this->cuid = cuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
cuid_t getCuid() const
|
|
||||||
{
|
|
||||||
return cuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setDownloadContext(const SharedHandle<DownloadContext>& downloadContext);
|
void setDownloadContext(const SharedHandle<DownloadContext>& downloadContext);
|
||||||
|
|
||||||
void setPeer(const SharedHandle<Peer>& peer);
|
|
||||||
|
|
||||||
void setPeerConnection(const WeakHandle<PeerConnection>& peerConnection);
|
void setPeerConnection(const WeakHandle<PeerConnection>& peerConnection);
|
||||||
|
|
||||||
void setDispatcher(const WeakHandle<BtMessageDispatcher>& dispatcher);
|
void setDispatcher(const WeakHandle<BtMessageDispatcher>& dispatcher);
|
||||||
|
|
|
@ -161,8 +161,6 @@ PeerInteractionCommand::PeerInteractionCommand
|
||||||
dispatcher->setRequestGroupMan(getDownloadEngine()->getRequestGroupMan());
|
dispatcher->setRequestGroupMan(getDownloadEngine()->getRequestGroupMan());
|
||||||
|
|
||||||
DefaultBtMessageReceiverHandle receiver(new DefaultBtMessageReceiver());
|
DefaultBtMessageReceiverHandle receiver(new DefaultBtMessageReceiver());
|
||||||
receiver->setCuid(cuid);
|
|
||||||
receiver->setPeer(getPeer());
|
|
||||||
receiver->setDownloadContext(_requestGroup->getDownloadContext());
|
receiver->setDownloadContext(_requestGroup->getDownloadContext());
|
||||||
receiver->setPeerConnection(peerConnection);
|
receiver->setPeerConnection(peerConnection);
|
||||||
receiver->setDispatcher(dispatcher);
|
receiver->setDispatcher(dispatcher);
|
||||||
|
|
Loading…
Reference in New Issue