Jimmy Zelinskie
39b1990798
add waitgroup to udp server
2015-10-29 15:14:35 -04:00
Leo Balduf
bd546f6eba
udp: replace boolean-synchronization with channels
2015-10-28 21:09:52 +01:00
Leo Balduf
7e1214cf12
udp: make the options constant
2015-10-26 21:22:54 +01:00
Jimmy Zelinskie
1764fa4a2d
add api to config & propogate config changes
2015-10-11 19:23:30 -04:00
Jimmy Zelinskie
8dbcd7079a
udp: handle default case for action switch
2015-09-13 13:10:41 -04:00
Jimmy Zelinskie
6b53ceb2a3
udp: fix nil ptr when socket fails to be created
2015-07-08 20:21:35 -04:00
Jimmy Zelinskie
cd7c8dd374
udp: make BadConnID a normal error
...
This causes packets that have bad connection IDs to not be recorded as a
bad request in our stats. These types of errors to be expected and
should balloon our stats.
Fixes #72 .
2015-06-30 18:10:13 -04:00
Jimmy Zelinskie
0741df3575
logging: add error to udp logs
...
This also makes the format of UDP and HTTP logs a little more similar.
2015-06-26 21:07:29 -04:00
Jimmy Zelinskie
2fcd34360f
udp: basic announce test
2015-05-11 00:57:54 -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
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
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
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
f98c675bc7
udp: Add comments to pass lint
2015-02-21 00:21:14 -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
abd2b5ade4
udp: Fix minor protocol errors, announces working
2015-02-20 11:44:05 -05:00
Justin Li
50292c7de7
udp: Implement announces
2015-02-20 02:18:44 -05:00
Justin Li
c2770ee741
udp: Implement initial connection protocol
2015-02-20 01:12:47 -05:00
Justin Li
1698f0017b
udp: Add AES-based connection ID generation
2015-02-19 22:25:42 -05:00