Commit Graph

2816 Commits (dbe909945f52649f412183f685b6ebb793c9ae03)

Author SHA1 Message Date
Zlatin Balevsky dd287bae18 add disconnection event, publish it on closing connections, handle it in connection manager 2018-07-28 20:19:02 +01:00
Zlatin Balevsky 9aeb9de070 log length as well 2018-07-27 16:00:32 +01:00
Zlatin Balevsky a76d055771 fix handling of second byte 2018-07-27 15:58:13 +01:00
Zlatin Balevsky 736a4a7424 Configure deflater output streams for sync flush, flush after each message 2018-07-27 15:48:23 +01:00
Zlatin Balevsky a004bd430a start connection manager, fix some issues 2018-07-27 14:51:31 +01:00
Zlatin Balevsky 4e31f216a8 wip on getting pings to work 2018-07-27 12:13:07 +01:00
Zlatin Balevsky 8edd495430 tie in sending of pings on a timer 2018-07-27 11:54:10 +01:00
Zlatin Balevsky cfb04a9811 work on handling pings 2018-07-27 09:40:58 +01:00
Zlatin Balevsky fbb1292862 header un/packing 2018-07-27 08:59:46 +01:00
Zlatin Balevsky e38fc4242b utility to write unsigned shorts 2018-07-27 08:10:50 +01:00
Zlatin Balevsky 3e02161b7d add top-level sendPing method to connections 2018-07-27 07:43:59 +01:00
Zlatin Balevsky e167d16ab2 update wire protocol to specify the pings and pongs are used as keep-alives 2018-07-27 00:30:54 +01:00
Zlatin Balevsky 70cc2528c4 return successful peers in rejection suggestion 2018-07-27 00:11:11 +01:00
Zlatin Balevsky 9bd40b01de count successes for hosts, add method to retrieve only successful hosts 2018-07-27 00:06:29 +01:00
Zlatin Balevsky 6380af7d12 skeleton of connection implementation 2018-07-26 23:13:23 +01:00
Zlatin Balevsky b2796a3d40 logic in connection managers to check if already connected. Prevent infinite connect loop. Fix Connction constructors 2018-07-26 19:03:13 +01:00
Zlatin Balevsky 7c0f5b4e88 outgoing connections are never to leafs 2018-07-26 18:43:09 +01:00
Zlatin Balevsky 3b616b8947 toString() methods in some events 2018-07-26 18:40:08 +01:00
Zlatin Balevsky 351edcb20e make connection events carry leaf status information 2018-07-26 18:11:08 +01:00
Zlatin Balevsky 063357120c only connect to hosts not already in progress 2018-07-26 12:44:53 +01:00
Zlatin Balevsky e62bceda29 wire connector and acceptor together 2018-07-26 12:39:02 +01:00
Zlatin Balevsky 90a1fa6a0d implement hooks into i2p streaming lib 2018-07-26 12:20:17 +01:00
Zlatin Balevsky 92e5cc87ef more unit tests 2018-07-26 09:38:21 +01:00
Zlatin Balevsky 37909d5193 acceptor test 2018-07-26 09:16:32 +01:00
Zlatin Balevsky 977b273656 implement rejection suggestions 2018-07-26 08:29:05 +01:00
Zlatin Balevsky 520d04cba4 wip on acceptor 2018-07-26 03:57:53 +01:00
Zlatin Balevsky 511c68a203 skeleton of connection acceptor 2018-07-26 03:06:59 +01:00
Zlatin Balevsky b3dd89dbe5 ignore incoming connection events 2018-07-26 02:50:43 +01:00
Zlatin Balevsky 7ba5bf61c5 update README for core project 2018-07-26 01:06:32 +01:00
Zlatin Balevsky 3d78b110f0 Move all event dispatching to it's own thread. Update tests to wait a bit 2018-07-26 01:02:32 +01:00
Zlatin Balevsky f8a36d310f more tests and fixes 2018-07-26 00:53:21 +01:00
Zlatin Balevsky 82420cc217 fix thread creation and logging 2018-07-25 23:59:38 +01:00
Zlatin Balevsky 49bb78688f add empty constructors for mocking 2018-07-25 23:56:56 +01:00
Zlatin Balevsky 9c85dfa7b4 work on establisher test 2018-07-25 23:56:18 +01:00
Zlatin Balevsky ac8d554332 Do not let exceptions in post-rejection json trigger close loops 2018-07-25 20:54:52 +01:00
Zlatin Balevsky 7a77b88d49 handle rejection and suggested hosts 2018-07-25 20:43:49 +01:00
Zlatin Balevsky b96a039c91 rename json field because try is a groovy keyword 2018-07-25 20:43:22 +01:00
Zlatin Balevsky e10eb7648b Make Endpoint implement Closeable, more work on outgoing handshakes 2018-07-25 20:26:18 +01:00
Zlatin Balevsky 074b2e51fb prevent infinite loop if we don't know of any unconnected hosts 2018-07-25 19:27:59 +01:00
Zlatin Balevsky 53fde470ee prevent infinite loop if we don't know of any unconnected hosts 2018-07-25 19:26:08 +01:00
Zlatin Balevsky fd4ee74079 Work on connection establishment 2018-07-25 19:05:25 +01:00
Zlatin Balevsky b0b9430479 Change connection event to carry an endpoint 2018-07-25 18:54:07 +01:00
Zlatin Balevsky 1b629a8f0a Initialize i2p session first on startup. Prevent own destination from ending up in host cache 2018-07-25 17:39:21 +01:00
Zlatin Balevsky b7518a8b63 skeleton of connection establisher 2018-07-25 14:46:06 +01:00
Zlatin Balevsky cf6a9b9314 add dependencies on streaming lib, skeleton of i2p connector 2018-07-25 14:21:13 +01:00
Zlatin Balevsky 16fc1f42c7 introduce Endpoint concept for i2p endpoints 2018-07-25 13:53:47 +01:00
Zlatin Balevsky 0630727892 filter own destination if returned from hostcache 2018-07-24 04:16:00 +01:00
Zlatin Balevsky 1954ffc999 fix argument order 2018-07-24 03:57:01 +01:00
Zlatin Balevsky 05059878c7 initialize interval and hook up listener 2018-07-24 03:52:40 +01:00
Zlatin Balevsky 46ddd65e03 wire some components together 2018-07-24 03:52:14 +01:00