mirror of
https://github.com/aria2/aria2.git
synced 2025-04-05 05:27:38 +03:00
2008-02-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
IPv6 support for SocketCore class. TODO: In SocketCore::establishConnection(), this is insufficient to determin the failure of connect() here because the socket is non-blocking state. The next addresses should be tried after select(). TODO: NameResolver still uses c-ares(<= 1.4) ares_gethostbyname(). If c-ares 1.5 or newer is installed, ares_getaddrinfo() should be used instead which address family independent. TODO: DHTRoutingTable{Deserializer,Serializer} currently saves peer information in a compact peer format which is for IPv4 only. Some BitTorrent functions in PeerMessageUtil still depends on IPv4 but this is a spec of BitTorrent protocol. * src/SocketCore.{h, cc} * src/PeerMessageUtil.cc * test/SocketCoreTest.cc * test/PeerMessageUtilTest.cc * test/DHTConnectionImplTest.cc Handle IPv4-mapped addresses. * src/DHTNode.cc: Now identity is determined by node id. * src/DHTMessageTrackerEntry.cc Because now PeerMessageUtil::unpackcompact() could fail, the caller should handle it. * src/DHTRoutingTableDeserializer.cc * src/DHTMessageFactoryImpl.cc
This commit is contained in:
parent
4708809094
commit
2cc471ebf6
11 changed files with 256 additions and 184 deletions
|
@ -47,7 +47,7 @@ void SocketCoreTest::testWriteAndReadDatagram()
|
|||
CPPUNIT_ASSERT_EQUAL(message1, std::string(readbuffer));
|
||||
}
|
||||
{
|
||||
ssize_t rlength = s.readDataFrom(readbuffer, sizeof(readbuffer));
|
||||
ssize_t rlength = s.readDataFrom(readbuffer, sizeof(readbuffer), peer);
|
||||
CPPUNIT_ASSERT_EQUAL((ssize_t)message2.size(), rlength);
|
||||
readbuffer[rlength] = '\0';
|
||||
CPPUNIT_ASSERT_EQUAL(message2, std::string(readbuffer));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue