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>
 | 
			
		||||
 | 
			
		||||
	Renamed member variables
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,31 +51,18 @@
 | 
			
		|||
namespace aria2 {
 | 
			
		||||
 | 
			
		||||
DefaultBtMessageReceiver::DefaultBtMessageReceiver():
 | 
			
		||||
  cuid(0),
 | 
			
		||||
  handshakeSent(false),
 | 
			
		||||
  logger(LogFactory::getInstance())
 | 
			
		||||
{
 | 
			
		||||
  if(logger->debug()) {
 | 
			
		||||
    logger->debug("DefaultBtMessageReceiver::instantiated");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DefaultBtMessageReceiver::~DefaultBtMessageReceiver()
 | 
			
		||||
{
 | 
			
		||||
  if(logger->debug()) {
 | 
			
		||||
    logger->debug("DefaultBtMessageReceiver::deleted");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
  _handshakeSent(false)
 | 
			
		||||
{}
 | 
			
		||||
 | 
			
		||||
SharedHandle<BtHandshakeMessage>
 | 
			
		||||
DefaultBtMessageReceiver::receiveHandshake(bool quickReply)
 | 
			
		||||
{
 | 
			
		||||
  unsigned char data[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
 | 
			
		||||
  if(!handshakeSent && quickReply && dataLength >= 48) {
 | 
			
		||||
    handshakeSent = true;
 | 
			
		||||
  if(!_handshakeSent && quickReply && dataLength >= 48) {
 | 
			
		||||
    _handshakeSent = true;
 | 
			
		||||
    // check info_hash
 | 
			
		||||
    if(memcmp(bittorrent::getInfoHash(_downloadContext), &data[28],
 | 
			
		||||
              INFO_HASH_LENGTH) == 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +72,8 @@ DefaultBtMessageReceiver::receiveHandshake(bool quickReply)
 | 
			
		|||
  if(!retval) {
 | 
			
		||||
    return SharedHandle<BtHandshakeMessage>();
 | 
			
		||||
  }
 | 
			
		||||
  SharedHandle<BtHandshakeMessage> msg = messageFactory->createHandshakeMessage(data, dataLength);
 | 
			
		||||
  SharedHandle<BtHandshakeMessage> msg =
 | 
			
		||||
    _messageFactory->createHandshakeMessage(data, dataLength);
 | 
			
		||||
  msg->validate();
 | 
			
		||||
  return msg;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -98,25 +86,25 @@ DefaultBtMessageReceiver::receiveAndSendHandshake()
 | 
			
		|||
 | 
			
		||||
void DefaultBtMessageReceiver::sendHandshake() {
 | 
			
		||||
  SharedHandle<BtMessage> msg =
 | 
			
		||||
    messageFactory->createHandshakeMessage
 | 
			
		||||
    _messageFactory->createHandshakeMessage
 | 
			
		||||
    (bittorrent::getInfoHash(_downloadContext), bittorrent::getStaticPeerId());
 | 
			
		||||
  dispatcher->addMessageToQueue(msg);
 | 
			
		||||
  dispatcher->sendMessages();
 | 
			
		||||
  _dispatcher->addMessageToQueue(msg);
 | 
			
		||||
  _dispatcher->sendMessages();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
BtMessageHandle DefaultBtMessageReceiver::receiveMessage() {
 | 
			
		||||
  size_t dataLength = 0;
 | 
			
		||||
  // Give 0 to PeerConnection::receiveMessage() to prevent memcpy.
 | 
			
		||||
  if(!peerConnection->receiveMessage(0, dataLength)) {
 | 
			
		||||
  if(!_peerConnection->receiveMessage(0, dataLength)) {
 | 
			
		||||
    return SharedHandle<BtMessage>();
 | 
			
		||||
  }
 | 
			
		||||
  BtMessageHandle msg =
 | 
			
		||||
    messageFactory->createBtMessage(peerConnection->getBuffer(), dataLength);
 | 
			
		||||
    _messageFactory->createBtMessage(_peerConnection->getBuffer(), dataLength);
 | 
			
		||||
  msg->validate();
 | 
			
		||||
  if(msg->getId() == BtPieceMessage::ID) {
 | 
			
		||||
    SharedHandle<BtPieceMessage> piecemsg =
 | 
			
		||||
      dynamic_pointer_cast<BtPieceMessage>(msg);
 | 
			
		||||
    piecemsg->setRawMessage(peerConnection->detachBuffer());
 | 
			
		||||
    piecemsg->setRawMessage(_peerConnection->detachBuffer());
 | 
			
		||||
  }
 | 
			
		||||
  return msg;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -127,24 +115,22 @@ void DefaultBtMessageReceiver::setDownloadContext
 | 
			
		|||
  _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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DefaultBtMessageReceiver::setBtMessageFactory(const WeakHandle<BtMessageFactory>& factory)
 | 
			
		||||
{
 | 
			
		||||
  this->messageFactory = factory;
 | 
			
		||||
  _messageFactory = factory;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace aria2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,41 +49,25 @@ class Logger;
 | 
			
		|||
 | 
			
		||||
class DefaultBtMessageReceiver : public BtMessageReceiver {
 | 
			
		||||
private:
 | 
			
		||||
  cuid_t cuid;
 | 
			
		||||
  bool handshakeSent;
 | 
			
		||||
  bool _handshakeSent;
 | 
			
		||||
  SharedHandle<DownloadContext> _downloadContext;
 | 
			
		||||
  SharedHandle<Peer> peer;
 | 
			
		||||
  WeakHandle<PeerConnection> peerConnection;
 | 
			
		||||
  WeakHandle<BtMessageDispatcher> dispatcher;
 | 
			
		||||
  WeakHandle<BtMessageFactory> messageFactory;
 | 
			
		||||
  Logger* logger;
 | 
			
		||||
  WeakHandle<PeerConnection> _peerConnection;
 | 
			
		||||
  WeakHandle<BtMessageDispatcher> _dispatcher;
 | 
			
		||||
  WeakHandle<BtMessageFactory> _messageFactory;
 | 
			
		||||
 | 
			
		||||
  void sendHandshake();
 | 
			
		||||
public:
 | 
			
		||||
  DefaultBtMessageReceiver();
 | 
			
		||||
 | 
			
		||||
  virtual ~DefaultBtMessageReceiver();
 | 
			
		||||
 | 
			
		||||
  virtual SharedHandle<BtHandshakeMessage> receiveHandshake(bool quickReply = false);
 | 
			
		||||
  virtual SharedHandle<BtHandshakeMessage> receiveHandshake
 | 
			
		||||
  (bool quickReply = false);
 | 
			
		||||
 | 
			
		||||
  virtual SharedHandle<BtHandshakeMessage> receiveAndSendHandshake();
 | 
			
		||||
 | 
			
		||||
  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 setPeer(const SharedHandle<Peer>& peer);
 | 
			
		||||
 | 
			
		||||
  void setPeerConnection(const WeakHandle<PeerConnection>& peerConnection);
 | 
			
		||||
 | 
			
		||||
  void setDispatcher(const WeakHandle<BtMessageDispatcher>& dispatcher);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -161,8 +161,6 @@ PeerInteractionCommand::PeerInteractionCommand
 | 
			
		|||
  dispatcher->setRequestGroupMan(getDownloadEngine()->getRequestGroupMan());
 | 
			
		||||
 | 
			
		||||
  DefaultBtMessageReceiverHandle receiver(new DefaultBtMessageReceiver());
 | 
			
		||||
  receiver->setCuid(cuid);
 | 
			
		||||
  receiver->setPeer(getPeer());
 | 
			
		||||
  receiver->setDownloadContext(_requestGroup->getDownloadContext());
 | 
			
		||||
  receiver->setPeerConnection(peerConnection);
 | 
			
		||||
  receiver->setDispatcher(dispatcher);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue