Commit graph

61 commits

Author SHA1 Message Date
Jimmy Zelinskie
1764fa4a2d add api to config & propogate config changes 2015-10-11 19:23:30 -04:00
Jimmy Zelinskie
c0c3eda290 config: make reaping configurable
This allows for configurable reaping rates and changes the default to
what many public trackers use in the wild.
2015-09-18 01:27:27 -04:00
Jimmy Zelinskie
f25464a02b Merge branch 'master' into udp 2015-03-27 22:05:48 -04:00
Jimmy Zelinskie
80c068c97a config: add create_on_announce option
This option allows the user to specify whether or not to create a new
swarm for torrents that do not previously exist within the tracker's
storage.
2015-03-23 20:02:13 -04:00
Jimmy Zelinskie
0ecd126ae8 lint: Http -> HTTP 2015-03-23 19:57:45 -04:00
Justin Li
c2770ee741 udp: Implement initial connection protocol 2015-02-20 01:12:47 -05:00
Justin Li
778b64defa udp: Add UDP configuration, move tracker shutdown to the main package 2015-02-19 23:46:28 -05:00
Justin Li
87c68f1973 2015 2015-01-01 12:02:25 -05:00
Jimmy Zelinskie
ddd10d9732 Begin refactor to better encapsulate configuration
This also updates the example_config.json which did not previously work.
Config.Config is now composed of embedded structs of other configs that
can later be used to clearly have a separation of concerns.
2014-11-01 20:12:40 -04:00
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
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
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
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