Changeset 5602
- Timestamp:
- Apr 12, 2008, 11:01:40 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/peer-msgs.c
r5521 r5602 66 66 KEEPALIVE_INTERVAL_SECS = 90, 67 67 68 PEX_INTERVAL = ( 60 * 1000), /* msec between sendPex() calls */68 PEX_INTERVAL = (90 * 1000), /* msec between sendPex() calls */ 69 69 PEER_PULSE_INTERVAL = (100), /* msec between pulse() calls */ 70 70 RATE_PULSE_INTERVAL = (250), /* msec between ratePulse() calls */ … … 1754 1754 1755 1755 /* some peers give us error messages if we send 1756 more than this many peers in a single pex message */ 1757 #define MAX_PEX_DIFFS 200 1756 more than this many peers in a single pex message 1757 http://wiki.theory.org/BitTorrentPeerExchangeConventions */ 1758 #define MAX_PEX_ADDED 50 1759 #define MAX_PEX_DROPPED 50 1758 1760 1759 1761 typedef struct … … 1765 1767 int droppedCount; 1766 1768 int elementCount; 1767 int diffCount;1768 1769 } 1769 1770 PexDiffs; … … 1772 1773 pexAddedCb( void * vpex, void * userData ) 1773 1774 { 1774 PexDiffs * diffs = (PexDiffs *) userData; 1775 tr_pex * pex = (tr_pex *) vpex; 1776 if( diffs->diffCount < MAX_PEX_DIFFS ) 1777 { 1778 diffs->diffCount++; 1775 PexDiffs * diffs = userData; 1776 tr_pex * pex = vpex; 1777 if( diffs->addedCount < MAX_PEX_ADDED ) 1778 { 1779 1779 diffs->added[diffs->addedCount++] = *pex; 1780 1780 diffs->elements[diffs->elementCount++] = *pex; … … 1783 1783 1784 1784 static void 1785 pexRemovedCb( void * vpex, void * userData ) 1786 { 1787 PexDiffs * diffs = (PexDiffs *) userData; 1788 tr_pex * pex = (tr_pex *) vpex; 1789 if( diffs->diffCount < MAX_PEX_DIFFS ) 1790 { 1791 diffs->diffCount++; 1785 pexDroppedCb( void * vpex, void * userData ) 1786 { 1787 PexDiffs * diffs = userData; 1788 tr_pex * pex = vpex; 1789 if( diffs->droppedCount < MAX_PEX_DROPPED ) 1790 { 1792 1791 diffs->dropped[diffs->droppedCount++] = *pex; 1793 1792 } … … 1797 1796 pexElementCb( void * vpex, void * userData ) 1798 1797 { 1799 PexDiffs * diffs = (PexDiffs *) userData; 1800 tr_pex * pex = (tr_pex *) vpex; 1801 if( diffs->diffCount < MAX_PEX_DIFFS ) 1802 { 1803 diffs->diffCount++; 1804 diffs->elements[diffs->elementCount++] = *pex; 1805 } 1798 PexDiffs * diffs = userData; 1799 tr_pex * pex = vpex; 1800 diffs->elements[diffs->elementCount++] = *pex; 1806 1801 } 1807 1802 … … 1827 1822 diffs.elements = tr_new( tr_pex, newCount + msgs->pexCount ); 1828 1823 diffs.elementCount = 0; 1829 diffs.diffCount = 0;1830 1824 tr_set_compare( msgs->pex, msgs->pexCount, 1831 1825 newPex, newCount, 1832 1826 tr_pexCompare, sizeof(tr_pex), 1833 pex RemovedCb, pexAddedCb, pexElementCb, &diffs );1827 pexDroppedCb, pexAddedCb, pexElementCb, &diffs ); 1834 1828 dbgmsg( msgs, "pex: old peer count %d, new peer count %d, added %d, removed %d", msgs->pexCount, newCount, diffs.addedCount, diffs.droppedCount ); 1835 1829
Note: See TracChangeset
for help on using the changeset viewer.