1
0
mirror of https://github.com/veggiedefender/torrent-client.git synced 2025-11-06 09:29:16 +02:00
Commit Graph

55 Commits

Author SHA1 Message Date
Jesse Li
9c6bf79e61 Rename toTorrent to toTorrentFile 2019-12-31 23:36:27 -05:00
Jesse Li
acd4fe9c62 Implement golden file test for torrentfile.Open 2019-12-31 12:18:18 -05:00
Jesse Li
a5e2137e37 Update README.md 2019-12-30 10:56:35 -05:00
Jesse
487337a08a Add bounds checking to bitfield
This way, we don't panic when we get an invalid HAVE message
2019-12-30 10:34:43 -05:00
Jesse
402e4e1665 Correct the size of a piece
Previously confused piece vs block
2019-12-30 10:23:15 -05:00
Jesse
928bbfeab4 Simplify download algorithm 2019-12-30 10:21:26 -05:00
Jesse
46b55339aa Fix unit in comment about block size 2019-12-29 22:47:32 -05:00
Jesse
23f3a144af Add logging around tracker and number of peers 2019-12-29 21:59:33 -05:00
Jesse
67066ad77c Set 30 second deadline for pieces to download 2019-12-29 21:44:07 -05:00
Jesse
c4fbd50021 Make MaxBlockSize and MaxBacklog public 2019-12-29 20:59:10 -05:00
Jesse Li
92974b393a Update README.md 2019-12-29 20:54:51 -05:00
Jesse Li
6d7c786022 Create LICENSE 2019-12-29 20:47:44 -05:00
Jesse
648d87a2d0 Comments for bitfield SetPiece test cases 2019-12-29 20:44:11 -05:00
Jesse
3b7eb1da70 Separate bitfield into its own package 2019-12-29 20:24:06 -05:00
Jesse Li
353d112e4d Create README.md 2019-12-29 20:08:03 -05:00
Jesse
43d771aa0d Remove commented out code 2019-12-29 19:56:06 -05:00
Jesse
5a57bde05a Use slightly more correct handling of choking 2019-12-29 19:51:17 -05:00
Jesse
a8274e966b Add go mod files 2019-12-29 19:36:24 -05:00
Jesse
97dbe49f57 Increase backlog to 5 2019-12-29 19:32:44 -05:00
Jesse
97f2be0747 Reorder algorithm steps 2019-12-29 19:26:57 -05:00
Jesse
0a5176e4ee Decrease backlog 2019-12-29 19:14:44 -05:00
Jesse
ff89aa406c Cleaner algorithm for downloading piece 2019-12-29 19:06:45 -05:00
Jesse
dced33b933 Report more accurate count of workers 2019-12-29 15:15:53 -05:00
Jesse
ffa8c82919 Rename downloadWorker to startDownloadWorker 2019-12-29 15:12:20 -05:00
Jesse
738af57ef1 Move big switch into a function 2019-12-29 15:06:17 -05:00
Jesse
9d7ddbc62c Refactor p2p 2019-12-29 14:04:36 -05:00
Jesse
d7d46ab7ef Finishes download 2019-12-27 14:33:03 -05:00
Jesse
06fab65638 Pipeline 5 requests at a time 2019-12-27 12:30:20 -05:00
Jesse
7e8cac2d3e Incredibly messy and slow download 2019-12-26 21:53:11 -05:00
Jesse
b1fc8c7fb8 Add p2p client 2019-12-26 17:04:32 -05:00
Jesse
5201cfc0b4 Shorten Message.String() output 2019-12-26 11:21:14 -05:00
Jesse
f2768fefd6 Implement testing membership in bitfield 2019-12-25 23:10:26 -05:00
Jesse Li
f9a22a6d9f Add timeout mechanism 2019-12-24 13:26:09 -05:00
Jesse Li
415666a020 Implement handshake.New() 2019-12-24 11:05:22 -05:00
Jesse Li
c20965ebf5 Move handshake into its own package 2019-12-24 10:42:47 -05:00
Jesse Li
aa8ef0ed76 Close connection after handling error
Fixes segfault when connection refused
2019-12-24 10:19:43 -05:00
Jesse
cdfb02a591 Implement formatting requests and parsing pieces 2019-12-23 12:58:23 -05:00
Jesse
7999e23fe1 Super janky download first piece 2019-12-22 23:51:31 -05:00
Jesse
12fac89ce5 Remove PieceLength from Downloader struct 2019-12-22 22:37:27 -05:00
Jesse
0b46e8444c Test buildTrackerURL 2019-12-22 22:36:07 -05:00
Jesse
519d64fa9a Stub out p2p interface 2019-12-22 22:25:57 -05:00
Jesse
b7cccc4662 Change Torrent.PieceHashes to [][20]byte 2019-12-22 22:16:27 -05:00
Jesse Li
2810320046 Receive handshake from peer! 2019-12-22 17:43:39 -05:00
Jesse Li
4256e5110f Implement parsing and serializing handshake 2019-12-22 16:03:38 -05:00
Jesse Li
5ebabfabcd Make hash a [20]byte 2019-12-22 15:19:46 -05:00
Jesse Li
a786dcaf37 Document Message and keep-alive nil behavior 2019-12-22 15:03:41 -05:00
Jesse Li
2f3008cc55 Rename package peer to message 2019-12-22 15:01:38 -05:00
Jesse Li
297d34d11e Remove Tracker struct 2019-12-22 14:56:34 -05:00
Jesse Li
df3ffed19e Implement Message.String() 2019-12-22 14:46:27 -05:00
Jesse Li
7897f345e8 Rename peer to message 2019-12-22 14:19:38 -05:00