Justin Li
de18172952
Update graceful import path
2015-04-28 20:32:19 -04:00
Justin Li
ae62188711
Disable graceful signal handling
2015-04-28 20:27:39 -04:00
Jimmy Zelinskie
ff5339ceb3
godeps: refresh to get latest changes in graceful
2015-04-22 22:54:46 -04:00
Jimmy Zelinskie
7f2abdae4e
udp: make handleOptionalParameters less misleading
2015-04-06 19:15:07 -04:00
Jimmy Zelinskie
cf3806cb9b
udp: handleOptionalParameters method added
...
This also addresses an issue where the goroutine was not breaking out of
the loop parsing the options, instead it was only breaking out of the
switch statement.
2015-04-06 19:06:06 -04:00
Jimmy Zelinskie
d317dfc069
udp: implement BEP45 response
2015-04-04 15:42:33 -04:00
Jimmy Zelinskie
938542ac74
models: Announce field for AnnounceResponse
2015-04-04 15:42:28 -04:00
Jimmy Zelinskie
222415f467
udp: Implement draft of BEP45; Endpoint type added
...
Because of the requirement of storing multiple ports, Announce.Port has
been abolished and Announce.IPv4/IPv6 have been replaced with the
Endpoint type. HTTP has been updated to support this model. UDP has been
updated to support the latest draft of BEP45 and most of the
optional-types described in BEP41.
2015-03-29 03:03:19 -04:00
Jimmy Zelinskie
f25464a02b
Merge branch 'master' into udp
2015-03-27 22:05:48 -04:00
Jimmy Zelinskie
b93cc26b98
models: properly format port into peerkey string
2015-03-26 22:11:13 -04:00
Justin Li
f3b264dd53
docs: Fix link to configuration.md
2015-03-24 00:41:52 -04:00
Justin Li
eefbe64da6
docs: Break out config docs into a separate file
2015-03-24 00:38:20 -04:00
Justin Li
6490c8f51d
docs: Add create_on_announce to list of config keys
2015-03-24 00:32:59 -04:00
Justin Li
f083bb8477
docs: Start reformatting config documentation
2015-03-24 00:29:32 -04:00
Jimmy Zelinskie
1bf788a99b
tracker: fix reference to config
2015-03-23 20:43:33 -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
a78fac6d7f
Merge pull request #61 from chihaya/peerkey
...
Add Port to PeerKey
2015-03-22 21:10:12 -04:00
Jimmy Zelinskie
6188d52de0
models: Port method for PeerKey
...
This also adds some more docs for related stuff in the models package.
2015-03-22 19:41:57 -04:00
Jimmy Zelinskie
92866cfacd
models: include port in peerkey
2015-03-22 18:44:09 -04:00
Jimmy Zelinskie
1deca5fd5e
readme: add godoc, docker badges
...
[ci skip]
2015-03-22 18:42:21 -04:00
Jimmy Zelinskie
c1a4a6ecbb
dockerfile: initial
2015-03-19 23:39:31 -04:00
Justin Li
da46ef8c8a
tracker: Return announcing peer if there are no others to avoid an empty peers field
2015-02-28 00:56:45 -05:00
Jimmy Zelinskie
ac2fcade1e
tracker: record announce/scrape stats in handlers
...
This deduplicates code tracking the stats code tracking announces and
scrapes for each protocol. The down side is that it isn't aware of any
failures writing responses, but it was already being called before the
write to a response for HTTP.
2015-02-26 09:03:52 -05:00
Jimmy Zelinskie
9b4999c0cf
stats/udp: nop on nil DefaultStats
2015-02-25 21:56:58 -05:00
Jimmy Zelinskie
5af37be85c
udp: fix renaming ipbuf->ipbytes
2015-02-25 21:56:37 -05:00
Jimmy Zelinskie
8deef98874
udp: style nitpicks
2015-02-25 21:47:01 -05:00
Justin Li
14a6278de0
udp: Use net.IP inputs for connection ID generation
...
Add enum for action IDs
Remove unnecessary length check
2015-02-23 21:30:45 -05:00
Justin Li
3d28f281fb
udp: Add constructor for ConnectionIDGenerator, return buffer to pool on socket timeout
2015-02-22 16:58:43 -05:00
Jimmy Zelinskie
2e678ac806
Merge pull request #57 from chihaya/completed-seeder
...
Remove impossible code for 'completed' event
2015-02-21 16:04:50 -05:00
Justin Li
7512f50731
udp: Add basic UDP tests
2015-02-21 14:35:21 -05:00
Justin Li
105edf21f1
udp: Add channel to communicate when socket has opened, set read timeout to 0 on Stop()
2015-02-21 14:02:00 -05:00
Justin Li
669128c83a
tracker: Pass listen address into tracker.Server.Serve()
2015-02-21 13:16:21 -05:00
Justin Li
b6c1b3838b
tracker: Remove impossible code for 'completed' event
2015-02-21 13:00:23 -05:00
Justin Li
f98c675bc7
udp: Add comments to pass lint
2015-02-21 00:21:14 -05:00
Justin Li
ac04761e40
readme: Add note about 64-bit being required
2015-02-20 21:00:22 -05:00
Justin Li
4c3cd6cc0a
udp: Rotate connection ID generation IVs every hour
2015-02-20 15:38:27 -05:00
Justin Li
afb22c3df6
udp: Add basic logging and more comments
2015-02-20 14:08:46 -05:00
Justin Li
d3d35b4655
udp: Send the announce interval in seconds
2015-02-20 13:42:14 -05:00
Justin Li
92f3c62456
tracker: Add common interface to start and stop servers
2015-02-20 13:39:19 -05:00
Justin Li
0d33210901
udp: Clean up connection ID checking
2015-02-20 12:52:49 -05:00
Justin Li
9526df74ad
udp: Implement scrapes
2015-02-20 12:35:31 -05:00
Justin Li
be5720dadd
deps: Update bencode to pick up uint16 fix
2015-02-20 12:29:02 -05:00
Justin Li
5eda5f451d
Add a .gitignore for the binary and config file
2015-02-20 12:02:00 -05:00
Justin Li
abd2b5ade4
udp: Fix minor protocol errors, announces working
2015-02-20 11:44:05 -05:00
Justin Li
22e83739c9
deps: Add bufferpool dependency
2015-02-20 02:21:21 -05:00
Justin Li
50292c7de7
udp: Implement announces
2015-02-20 02:18:44 -05:00
Justin Li
e3aff35532
models: Use a uint16 for port numbers
2015-02-20 02:06:44 -05:00
Justin Li
d9a7611eee
http: Unexport announce/scrape creation functions
2015-02-20 01:36:49 -05:00
Justin Li
c2770ee741
udp: Implement initial connection protocol
2015-02-20 01:12:47 -05:00