Commit graph

41 commits

Author SHA1 Message Date
mykola2312
59cf29c2ce begin working on HTTP tracker server. parse config.json for tracker
endpoints and create appropriate protocol servers
2024-11-03 00:07:03 +02:00
mykola2312
067f10ff69 implement tracker url parsing, begin working on application thread
running
2024-11-02 22:54:40 +02:00
mykola2312
fa7e340ad7 add notes 2024-11-02 03:36:15 +02:00
mykola2312
7f75a1ac77 implement synchronized Tracker structure 2024-10-28 01:12:49 +02:00
mykola2312
534f827afc implement Torrent type to hold InfoHash and PeerSet 2024-10-27 14:57:38 +02:00
mykola2312
1915179ad9 implement PeerSet type with peer local & remote conflict resolving 2024-10-27 14:22:38 +02:00
mykola2312
59ff54edf6 update notes 2024-10-27 12:24:03 +02:00
mykola2312
4b650e421f add license 2024-10-24 15:11:39 +03:00
mykola2312
354f4725be write tests 2024-10-24 07:53:16 +03:00
mykola2312
30efec0294 came to conclusion about Peer structure, update notes 2024-10-23 09:17:35 +03:00
mykola2312
290a178c46 define peer local data 2024-10-22 08:33:22 +03:00
mykola2312
879b7aa742 begin implementing peer data types 2024-10-22 02:38:44 +03:00
mykola2312
f3ddaffe59 update notes 2024-10-21 10:16:28 +03:00
mykola2312
670b11b49a implement InfoHash torrent data type 2024-10-20 05:34:32 +03:00
mykola2312
b7b772af86 add json config parsing 2024-10-19 09:25:59 +03:00
mykola2312
07c3128753 add command line parser, implement logging 2024-10-19 08:55:57 +03:00
mykola2312
b0e3b379d3 write notes 2024-10-18 02:00:04 +03:00
mykola2312
2d80fc2657 final test is concluded, bencode implementation is complete and capable
of decoding and encoding torrent files and announces in a way as they
come
2024-10-17 08:27:19 +03:00
mykola2312
c978925f70 make sure no invalid keys pass into dicts 2024-10-17 08:22:46 +03:00
mykola2312
679670b468 use netty buffer since java's ByteBuffer can't grow on its own 2024-10-17 07:41:05 +03:00
mykola2312
9345b50377 begin working on bencode encoding 2024-10-17 06:03:51 +03:00
mykola2312
ef86c78ba4 bencode decoding is complete and fully tested on real torrent files 2024-10-16 02:29:30 +03:00
mykola2312
c1dcb19f9d full bencode decoding is done now, later may need even more tests 2024-10-15 09:02:36 +03:00
mykola2312
f5ab05acdc make base class for bencode related errors 2024-10-15 08:37:39 +03:00
mykola2312
d67a603039 swap arguments in assertEquals, because someone thought its great idea
to have expected value on the left side
2024-10-15 07:48:22 +03:00
mykola2312
24e9568f89 implement BList decoding, fix numerous bugs in BList 2024-10-15 04:06:26 +03:00
mykola2312
695d21f851 add item getter with type check to BList, just as in BDict 2024-10-15 00:47:14 +03:00
mykola2312
09f0e7dcee handle cases of malformed bencode data 2024-10-14 20:56:56 +03:00
mykola2312
d40e1cbe4e begin working on bencode decoding 2024-10-14 20:25:47 +03:00
mykola2312
43da5e8d45 implement get chaining, cover by tests 2024-10-14 18:33:24 +03:00
mykola2312
945506dcfc working on BDict get chain and type casting check 2024-10-14 07:14:03 +03:00
mykola2312
c6ac8cb7ba begin working on BDict, do test coverage as well 2024-10-13 23:10:17 +03:00
mykola2312
94617078a4 make BString accept String 2024-10-13 22:30:08 +03:00
mykola2312
26901f81af done with BList linked list logic, write tests. override equals on
BValue, thus making comparison by actual contents of nodes.
2024-10-13 11:08:14 +03:00
mykola2312
0f2e49268e fix bug in bvalue iterator 2024-10-13 11:05:01 +03:00
mykola2312
ee8b20097d working on bencode lists, test covering 2024-10-13 10:08:10 +03:00
mykola2312
7df116d02b implement bencode base types 2024-10-13 09:09:23 +03:00
mykola2312
da9c812187 implement iterator for BValue, add exception class 2024-10-13 05:42:54 +03:00
mykola2312
76f642f8c8 begin working on bencode implementation 2024-10-13 04:34:43 +03:00
mykola2312
9633383a99 use tabs instead of spaces 2024-10-13 04:34:19 +03:00
mykola2312
b39371c4ff initial commit 2024-10-12 04:01:58 +03:00