Charles Kerr
473907d891
a little housekeeping: move tr_torrent stuff into its own header
2007-12-25 05:37:32 +00:00
Charles Kerr
35adeec1d0
(gtk) fix startup port issue by hitting it with a damn big hammer
2007-12-24 07:02:40 +00:00
Charles Kerr
67a86a2274
finish the `shared' update: bind & listen the incoming port.
...
better logging in network code.
2007-12-09 00:28:34 +00:00
Charles Kerr
73ee11f233
Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
...
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr
f1e85f5206
Increase the intervals on timers that won't affect performance. This reduces most of Transmission's PowerTOP footprint.
2007-11-11 20:27:13 +00:00
Charles Kerr
fd430fde90
undoing the r3773-r3774 experiment.
2007-11-09 20:07:52 +00:00
Charles Kerr
67b719c2de
on Darwin, use NSCParameterAssert() instead of assert().
2007-11-09 19:50:40 +00:00
Charles Kerr
9df263326d
use Thomas Bernard's miniupnp library instead of rolling our own.
2007-11-06 16:02:50 +00:00
Charles Kerr
84ab0092fb
some cleanup... remove some dead/obsolete code
2007-10-02 00:05:40 +00:00
Charles Kerr
5c11c58113
simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable.
2007-10-01 15:17:15 +00:00
Charles Kerr
fef89a3bc7
* record the ports of incoming sockets. we might need them later if we want to disconnect and reconnect.
...
* for portability, use libevent API for some socket upkeep
2007-09-25 23:10:34 +00:00
Charles Kerr
5aecf680f0
when a peer tells us that it's switched listening ports, remember the new port for the next time we connect.
2007-09-25 17:44:50 +00:00
Charles Kerr
9248143ce8
fix recursive crash when stopping a torrent, reported by plantain. silence a few more console messages.
2007-09-21 14:20:55 +00:00
Charles Kerr
4d15bbdc2a
slightly less broken handling of cases where we can't bind to our listening port.
2007-09-21 05:31:29 +00:00
Mitchell Livingston
76da1185ca
merge encryption branch to trunk (xcode project is still out of date)
2007-09-20 16:32:01 +00:00
Charles Kerr
5f5a743790
the new tracker code seems to be working, so now it's time for me to learn yet again how much better users are at noticing bugs than I am. :)
2007-08-16 20:00:06 +00:00
Charles Kerr
0f85cc3297
continue whittling away at internal.h to reduce the global #include dependencies
2007-07-31 14:26:44 +00:00
Charles Kerr
d209052051
add portability wrapper for in_port_t...
2007-07-30 18:04:10 +00:00
Charles Kerr
ebb141b232
better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t
2007-07-30 15:27:52 +00:00
Charles Kerr
e07d0220a9
this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file
2007-07-29 18:11:21 +00:00
Josh Elsasser
1ecbe8da65
Change a couple functions to take an in_addr pointer instead of an in_addr.
...
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Charles Kerr
b79beeff66
clean up #includes a bit.
2007-07-09 20:10:42 +00:00
Eric Petit
981ede4d4b
Fixes a typo that caused us to reject all incoming connections
2007-07-04 15:04:05 +00:00
Charles Kerr
f0950d7390
lots of performance improvements. fun!
...
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr
7e09d157cd
Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs.
2007-06-26 18:45:03 +00:00
Charles Kerr
e161544761
adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c
2007-06-21 14:47:26 +00:00
Josh Elsasser
1323459ad4
Fix port crap.
2007-04-16 05:48:52 +00:00
Josh Elsasser
57d06d55e8
Don't try port mapping if binding the port fails.
2007-04-15 07:36:24 +00:00
Josh Elsasser
09c87aad84
Merge PEX branch, I hope this works.
2007-03-23 08:28:01 +00:00
Josh Elsasser
f67ad8cf47
Add a new interface to make the public port available to the frontend.
2007-02-06 04:26:40 +00:00
Josh Elsasser
b2fb0bbf3c
Clean up NAT-PMP code a little.
...
Correctly handle a NAT-PMP device mapping a different public port than requested.
2007-02-06 03:24:55 +00:00
Josh Elsasser
f884a9c4d4
Store the peers's listening port instead of the peer connections's remote port.
2007-01-28 00:24:41 +00:00
Josh Elsasser
adfd4e7ca7
Rework the port handling a bit to allow different bound and advertised ports.
2007-01-27 21:17:10 +00:00
Eric Petit
40d8abb68f
More simplifications
2007-01-21 19:42:11 +00:00
Eric Petit
14aa4e5ab0
Officially give up on making libT reentrant, and simplify our code instead
2007-01-21 07:16:18 +00:00
Eric Petit
e63e4ab38f
Reorganizes a few things, don't accept two connections from the same IP
2007-01-21 06:42:05 +00:00
Eric Petit
15fdfda60f
small memleaks
2007-01-20 05:07:00 +00:00
Eric Petit
7a6401c7b4
Split transmission.c: everything related to the accept/upnp/choking
...
thread was moved to shared.c
2007-01-19 04:42:31 +00:00