Commit graph

61 commits

Author SHA1 Message Date
Paul Saab
3f5b6b55b0 Limit number of concurrent connections
Go's net/http library has no limits in place for number of concurrent
requests currently being processed.  This can result in an enormous
number of goroutines being created and the read/write buffer pools
growing unbounded resulting in OOM situations.
2014-09-25 10:58:07 -07:00
Paul Saab
ad9034da6d Reduce contention on the torrent map
We see the torrent map have quite a bit of contention.  Shard the map by
a configurable number of shards to reduce the times we may contend on
the lock.
2014-09-24 10:23:16 -07:00
Jimmy Zelinskie
b910fdabf5 Organize peers by subnet.
This commit restructures PeerMaps to be a map from Subnet to
PeerID to Peer. This reduces the complexity require to gather peers from
the same subnet.
2014-09-23 23:00:50 -04:00
Justin Li
976a983aa7 go fmt [ci skip] 2014-09-03 10:18:26 -04:00
Cooper Lees
67df033c7f Add configurable HTTP read and write timeouts 2014-09-02 22:24:15 -07:00
Cooper Lees
26de6d2e9c Respect a clients AF Optional Support - config driven 2014-08-21 07:11:35 -07:00
Jimmy Zelinskie
ffb3c57181 move whitelist into cfg 2014-07-25 16:58:26 -04:00
Justin Li
c1c9ee07a9 Listen on all interfaces by default
[ci skip]
2014-07-24 17:08:08 -04:00
Justin Li
fc2d15cdc0 Change private config key to private_tracker 2014-07-23 18:48:01 -04:00
Justin Li
88d68a99a2 Clean up stats configuration 2014-07-23 17:25:01 -04:00
Justin Li
cf619aa50f Add memory statistics 2014-07-23 17:08:06 -04:00
Justin Li
d47cf7d4bc Move stats buffer size to the regular config 2014-07-23 16:14:50 -04:00
Justin Li
76c68a53b5 Add RealIPHeader configuration, and move network conf to its own struct 2014-07-23 14:00:17 -04:00
Justin Li
8369bbbcd8 Allow configuring if a peer may have 2 IPs 2014-07-23 13:36:31 -04:00
Justin Li
14843b9e89 Add AllowIPSpoofing configuration 2014-07-23 13:08:57 -04:00
Jimmy Zelinskie
7faa1b08ac moved together bools 2014-07-21 03:52:56 -04:00
Jimmy Zelinskie
07081e1027 Add support for preferring peers in the same subnet 2014-07-17 04:17:43 -04:00
Justin Li
cd6204f13d Purge peers that have not announced for twice the announce interval 2014-07-16 19:38:51 -04:00
Jimmy Zelinskie
d2ba9fb9f7 repurpose drivers from mock to no-op and memory 2014-07-15 00:22:04 -04:00
Jimmy Zelinskie
b321d1f0fa update config docs [ci-skip] 2014-07-14 23:13:35 -04:00
Jimmy Zelinskie
6a5144fb4e Adds an error for missing driver params 2014-07-14 20:36:49 -04:00
Jimmy Zelinskie
3cc4679454 default to addr 127.0.0.1:6881 2014-07-09 21:26:44 -04:00
Justin Li
e08f745f6c Happy uber-belated new year! 2014-07-06 17:56:54 -04:00
Jimmy Zelinskie
ff5dc0920d DriverConfig.Params enables generic db parameters 2014-07-03 17:37:13 -04:00
Jimmy Zelinskie
6d5290d85e transition to httprouter 2014-07-01 21:40:29 -04:00
Jimmy Zelinskie
9cb5b82dc7 log->glog; more bencode fixes 2014-06-30 23:21:08 -04:00
Jimmy Zelinskie
834e584f2d fix null ptrs, misuse of bencode 2014-06-30 14:59:31 -04:00
Jimmy Zelinskie
caba155b5d consistent logging 2014-06-26 17:10:39 -04:00
Jimmy Zelinskie
42693e2a3b docs, signatures; glog for main; config.New() 2014-06-24 03:59:30 -04:00
Jimmy Zelinskie
3bfb3074b4 overhaul everything 2014-06-23 22:47:43 -04:00
Jimmy Zelinskie
90491dc386 mockConfig.Addr :80 -> :34000 2014-05-08 06:39:39 -04:00
Jimmy Zelinskie
4a8d756f5a announce type; renames; docs 2014-05-07 05:19:36 -04:00
Jimmy Zelinskie
b32eaebcd6 first pass with linter 2014-05-01 00:30:46 -04:00
Jimmy Zelinskie
76f03e209f rm driver deps 2013-12-02 05:00:28 -05:00
Justin Li
986675cc4d Fix stats test and stop spamming people 2013-11-30 23:13:30 -05:00
Jimmy Zelinskie
6549f49e26 go fmt [ci skip] 2013-11-24 00:49:20 -05:00
Jimmy Zelinskie
9382ac482e removed all references to "transaction" 2013-11-23 23:48:38 -05:00
Justin Li
080a24c7be Set up initial outbound synchronization structure 2013-09-06 18:39:14 -04:00
Jimmy Zelinskie
24eff112f3 gofmt, style improvements 2013-08-31 15:06:42 -04:00
cpb8010
999a268ca8 The rest of the files needed to pass Redis tests 2013-08-31 01:17:12 -04:00
Jimmy Zelinskie
a2527aa4e2 generic test config 2013-08-29 00:47:37 -04:00
Jimmy Zelinskie
6e7d6f1a31 fix travis tests 2013-08-29 00:24:31 -04:00
Jimmy Zelinskie
ecbedf4b89 stats test, add/remove torrent handlers, init batter driver 2013-08-28 23:44:45 -04:00
Jimmy Zelinskie
107ec1dd15 more work towards new architecture 2013-08-26 14:38:45 -04:00
Jimmy Zelinskie
4226ecc59d docs updated 2013-08-24 00:24:42 -04:00
Jimmy Zelinskie
d3f3c81c61 initial architecture overhaul 2013-08-23 15:39:42 -04:00
Jimmy Zelinskie
dcc2621ec3 initial work on publish 2013-08-04 23:01:25 -04:00
Jimmy Zelinskie
a6d04f6790 initial announce response 2013-08-04 15:56:31 -04:00
cpb8010
461761ae4a Fixed temp test file path 2013-08-02 20:51:42 -04:00
Jimmy Zelinskie
2d40a3ab97 make tempfiles in os.TempDir() not $GOROOT 2013-07-21 20:49:17 -04:00