Arvid Norberg
327af3a69e
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-10 01:24:37 -04:00
Arvid Norberg
404d72b9b7
revert handshake round-trip optimization ( #797 )
...
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-10 01:14:37 -04:00
Arvid Norberg
830a79dbcf
optimize allow-fast logic ( #800 )
...
optimize allow-fast logic
2016-06-09 08:02:41 -04:00
Arvid Norberg
5eaf713d1f
revert handshake round-trip optimization ( #797 )
...
revert handshake round-trip optimization. it prevents taking advantage of FAST extensions since the bitfield is sent before receiving the other peer's handshake
2016-06-07 21:45:48 -04:00
Arvid Norberg
223f24ca27
some cleanup and transition to std::unique_ptr ( #786 )
...
some cleanup and transition to std::unique_ptr
2016-06-05 14:07:24 -04:00
Arvid Norberg
0583394af7
remove dependency on libtommath and use boost.multiprecision instead
...
remove dependency on libtommath and use boost.multiprecision instead
2016-05-30 14:33:24 -04:00
Steven Siloti
ff0675e64e
use standard array container ( #676 )
2016-04-30 23:10:47 -04:00
Arvid Norberg
4e97bf556c
use override and final keywords (unconditionally) ( #668 )
...
use override and final keywords instead of macros.
2016-04-30 11:05:54 -04:00
arvidn
88b7e3768f
add sim test for optimistic unchoke round-robin distribution
2016-02-01 20:28:30 -05:00
arvidn
efe32c6a0e
rewrite most of web_peer_connection::on_receive to make it a lot simpler and fix edge cases with pad-files
2016-01-28 01:58:33 -05:00
arvidn
1f9f588e75
merge copyright year update and changelog from RC_1_0
2016-01-17 18:57:46 -05:00
Alden Torres
b20096f0db
Comments typos
2016-01-02 11:46:10 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -05:00
arvidn
a42f9e0c63
fix more warnings
2015-08-22 00:28:12 +02:00
arvidn
41533205be
drop support for boost 1.35 and fix some more references to the asio namespace
2015-06-06 02:10:53 -04:00
Arvid Norberg
d43f7b56a2
update copyright year
2015-06-03 05:18:48 +00:00
Arvid Norberg
fce3f77744
override marking of virtual functions
2015-05-05 05:37:01 +00:00
Arvid Norberg
3951377d95
fix include paths for warning push and pop headers
2015-04-21 01:16:28 +00:00
Arvid Norberg
408232cfc8
raise warning level. fix a few of them. filter out warnings from boost
2015-04-18 02:33:39 +00:00
Arvid Norberg
bb48b6e83c
eliminate one more session dependency in peer_connection
2015-04-10 01:50:42 +00:00
Arvid Norberg
c1dc982f4f
deprecate the ptime type and related time types. just use boost::chrono / std::chrono
2015-03-12 04:34:54 +00:00
Arvid Norberg
658e2ceefd
merged Steven Siloti's peer crypto patch into trunk
2014-11-23 06:14:47 +00:00
Arvid Norberg
65bb1d0006
pass all the arguments to peer connections as an argument pack
2014-07-14 04:32:41 +00:00
Arvid Norberg
01640e1682
separate stats counters from session_interface (this was the main use of m_ses in peer connections)
2014-07-13 04:56:53 +00:00
Arvid Norberg
7351389ce8
land libtorrent_aio branch in trunk
2014-07-06 19:18:00 +00:00
Arvid Norberg
6c6fe4dfe2
merged fixes of warnings from RC_1_0
2014-07-04 23:40:31 +00:00
Arvid Norberg
f037704539
clean up peer-id in bt_peer_connection (for privacy mode) and reduce dependency on session
2014-04-22 23:37:21 +00:00
Arvid Norberg
a943fec777
update copyright
2014-02-23 19:12:25 +00:00
Arvid Norberg
e0644ce8f5
invariant check macro fixes
2014-01-21 19:26:09 +00:00
Arvid Norberg
702b68ecc4
clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized
2014-01-19 19:45:50 +00:00
Arvid Norberg
4e6b1cfbfb
update copyright
2013-12-25 17:07:16 +00:00
Arvid Norberg
be8c918158
fix TORRENT_DISABLE_EXTENSIONS issues (specifically when enabling it)
2013-12-20 08:35:29 +00:00
Arvid Norberg
d58066b32d
fix Jamfile typo for extensions=on as well as mistakes in ifdefs for encryption fields/code
2013-12-20 06:38:51 +00:00
Arvid Norberg
faa53d7657
member re-order and struct packing
2013-12-02 04:24:10 +00:00
Arvid Norberg
fde0d6994d
fix build with encryption disabled
2013-11-10 11:05:11 +00:00
Arvid Norberg
dafa812109
merged fixes from RC_0_16
2013-11-08 07:23:36 +00:00
Arvid Norberg
a0caa0f4b2
disable invariant_check functions when invariant checks are disabled
2013-02-25 04:13:46 +00:00
Arvid Norberg
0c6654f484
merge change from RC_0_16
2013-02-23 06:40:27 +00:00
Arvid Norberg
bff648a89e
update copyright dates and add tool to do so
2012-10-02 03:16:33 +00:00
Arvid Norberg
5275e75fa5
back-port deletion of the redundant peer_connection constructor from libtorrent_aio
2012-05-14 05:43:45 +00:00
Arvid Norberg
a2521bd23c
fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost
2012-03-18 23:31:04 +00:00
Arvid Norberg
ccf9c5a0fd
log more stats
2012-03-02 08:52:54 +00:00
Arvid Norberg
5a23d04143
fix some clang warnings
2012-02-18 08:23:48 +00:00
Arvid Norberg
4706807300
fix issue with outgoing connections not being tied to a torrent
2012-01-21 21:29:22 +00:00
Arvid Norberg
469414d486
initial BitTorrent over SSL support
2011-09-12 03:51:49 +00:00
Arvid Norberg
92bcb9ebfd
feature to encrypt peer connections with a secret AES-256 key stored in .torrent file
2011-09-05 05:50:41 +00:00
Arvid Norberg
ec74d500a4
clean up encryption code some
2011-08-29 02:00:17 +00:00
Arvid Norberg
d4958c9286
support for dont-have extension message
2011-08-07 00:41:13 +00:00
Arvid Norberg
060b849dda
factor encryption handler a bit and add proposal for an authentication extension
2011-06-18 16:58:36 +00:00
Arvid Norberg
88fa0b9393
optimize send buffer allocation and deallocation by not allowing requiring contiguous buffers
2011-05-19 02:41:28 +00:00
Arvid Norberg
a73960aa5a
support release asserts
2011-05-08 09:04:59 +00:00
Arvid Norberg
141ada013f
fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way
2011-02-21 05:24:41 +00:00
Arvid Norberg
7508038337
cross compiling fixes
2011-02-14 04:12:26 +00:00
Arvid Norberg
0c16163e71
fix build with no extensions support
2011-01-29 12:13:49 +00:00
Arvid Norberg
e5f980d80d
merged uTP branch into trunk (yay)
2010-11-29 01:33:05 +00:00
Arvid Norberg
b6f92aa981
added initial support for share-mode
2010-09-05 16:01:36 +00:00
Arvid Norberg
69001e6a6b
fixed bug in metadata extensions combined with encryption
2010-06-18 05:44:08 +00:00
Arvid Norberg
c9b594fde1
support sending suggest messages based on what's in the read cache. support 'explicit read cache'
2010-01-15 16:45:42 +00:00
Arvid Norberg
8dd244581d
header optimizations
2009-11-26 05:45:43 +00:00
Arvid Norberg
2280454a99
support upload-only extension message
2009-11-24 18:49:59 +00:00
Arvid Norberg
6343fe6a6d
optimized header dependencies to lower build time
2009-11-23 08:38:50 +00:00
Arvid Norberg
e43340c961
made it possible to build without RTTI
2009-11-02 20:43:38 +00:00
Arvid Norberg
641abc6c4a
slight memory optimization and some header cleanup
2009-05-03 20:21:24 +00:00
Arvid Norberg
84a513bffb
initial support for merkle hash tree torrents
2009-03-13 06:09:39 +00:00
Arvid Norberg
2a9605f9db
the reserved bits are only 8 bytes
2009-02-13 07:17:20 +00:00
Arvid Norberg
bcd93da465
fixed encryption asserts
2009-02-04 05:51:00 +00:00
Arvid Norberg
1ac8f806fa
added seed mode support (lazy hash checking)
2009-02-03 07:46:24 +00:00
Arvid Norberg
b245d45570
fixed encryption bug
2009-01-28 04:20:05 +00:00
Arvid Norberg
37c48117b0
fix potential bug (and warning on sunpro) in the send_buffer signature
2009-01-27 06:57:55 +00:00
Arvid Norberg
2768874eea
removed unused member
2008-12-09 00:27:42 +00:00
Arvid Norberg
09b3a865ef
fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define
2008-11-29 21:33:21 +00:00
Arvid Norberg
a20f1a8fa0
keeps track of the number of requests waiting in the send buffer and adjusts bandwidht priority accordingly in the bandwidth limiter
2008-07-08 00:03:08 +00:00
Arvid Norberg
b27b2b6e71
fixed typo
2008-06-28 17:58:15 +00:00
Arvid Norberg
d132dd45e3
removed exceptions from pe_crypto and improved error handling
2008-06-28 10:10:05 +00:00
cg25
ff3e80c42f
Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
...
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg
9d1e77dc88
optimized away torrent::m_have_pieces ( #62 ) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed
2008-06-07 02:58:28 +00:00
Arvid Norberg
68c31e48dc
replaced vector<bool> with a custom bitfield type
2008-05-28 02:35:02 +00:00
Arvid Norberg
f259e34f86
peer_connection fix for incoming connections
2008-05-12 10:10:39 +00:00
Arvid Norberg
eabe9cad2d
improved plugin support
2008-05-12 03:05:27 +00:00
Arvid Norberg
c7e6c04705
switched over to asio from boost-1.35
2008-05-03 16:05:42 +00:00
Arvid Norberg
093d912e9a
receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type
2008-04-10 10:03:23 +00:00
Arvid Norberg
1511f2f59b
removed calls to self() from inside constructors in peer connections
2008-03-31 04:46:24 +00:00
Arvid Norberg
f3d45fcfc1
initial support for ut_metadata
2007-12-02 04:16:51 +00:00
Arvid Norberg
966800cd5b
replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert.
2007-10-05 00:30:00 +00:00
Arvid Norberg
2940d253c3
completed fast reconnect fix
2007-10-04 21:26:50 +00:00
Arvid Norberg
b48948e231
changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage
2007-09-29 16:14:03 +00:00
Arvid Norberg
4ac1ac8a1f
removed allocate_resources. switched to a global unchoker and connection distribution
2007-08-16 12:41:46 +00:00
Arvid Norberg
b62bb7944f
merged fast-extension => trunk. the fast extension branch is now closed
2007-08-14 17:47:48 +00:00
Arvid Norberg
182c917842
optimized peer_connection by postponing diffie hellman key creation and generation of handhake until the connection has succeeded
2007-07-09 04:22:38 +00:00
Arvid Norberg
3b8670626a
merged back async_io branch into trunk
2007-06-10 20:46:09 +00:00
Arvid Norberg
273f8bd921
merged back encryption branch to trunk
2007-06-06 00:41:20 +00:00
Arvid Norberg
bb71832f5f
exposed some more peer info
2007-05-25 19:42:10 +00:00
Arvid Norberg
d43a6b80bf
added an abstraction layer or tcp sockets, to be able to support socks proxys
2007-04-23 21:36:21 +00:00
Arvid Norberg
3ed24da320
added source to peer_info, which is a bitmask of the sources where the peer has been acquired from
2007-04-10 21:23:13 +00:00
Arvid Norberg
d88ffcc0e4
removed some more unecessary boost.date_time dependencies
2007-04-10 07:52:58 +00:00
Arvid Norberg
306d015924
added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient
2007-04-04 22:27:36 +00:00
Arvid Norberg
f14c84b01e
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
2007-01-29 07:39:33 +00:00
Arvid Norberg
e35fc5c4be
refactored extensions and added a plugin interface. fixed file.cpp for windows
2006-11-14 00:08:16 +00:00
Arvid Norberg
f0519e86e8
separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async.
2006-10-11 14:02:21 +00:00
Arvid Norberg
41810b1166
merged back the asio development branch
2006-04-25 21:04:48 +00:00