Commit graph

143 commits

Author SHA1 Message Date
Alex 67ea3a48fa
Add Resp::into_parts 2022-07-22 13:40:06 +02:00
Alex b9df442f03
Small optimization 2022-07-22 13:32:08 +02:00
Alex 50627c2060
Add comment 2022-07-22 13:27:56 +02:00
Alex f9db9a4b69
Simplify send.rs 2022-07-22 13:23:42 +02:00
Alex 5da59ebec5
Move things around and fix error bit 2022-07-22 13:06:10 +02:00
Alex 9cb28c21b4
Use bounded channels on receive side for backpressure 2022-07-22 13:01:52 +02:00
Alex 0b71ca12f9
Clean up framing protocol 2022-07-22 12:45:38 +02:00
Alex c358fe3c92
Hide streaming versions as much as possible 2022-07-22 10:55:37 +02:00
Alex 4934ed726d
Propose alternative API 2022-07-21 20:22:56 +02:00
Alex 7d148c7e76
One possibility, but I don't like it 2022-07-21 19:25:07 +02:00
Alex 44bbc1c00c
Rename AutoSerialize into SimpleMessage and refactor a bit 2022-07-21 19:05:51 +02:00
Alex 26989bba14
Use Bytes instead of Vec<u8> 2022-07-21 18:15:07 +02:00
Alex 9dffa812c4
Refactor send.rs 2022-07-21 17:59:15 +02:00
Alex f35fa7d18d
Move things around 2022-07-21 17:37:52 +02:00
trinity-1686a cdff8ae1be add detection of premature eos 2022-07-18 15:21:13 +02:00
trinity-1686a d3d18b8e8b use a framing protocol instead of even/odd channel 2022-06-20 23:40:31 +02:00
trinity-1686a 0fec85b47a start supporting sending error on stream 2022-06-19 18:42:27 +02:00
trinity-1686a 5d7541e13a wait for any ready stream instead of the highest priority one 2022-06-19 17:47:41 +02:00
trinity-1686a 4745e7c4ba further work on streams
most changes still required are related to error handling
2022-06-08 09:54:38 +02:00
trinity-1686a fb5462ecdb rechunk stream 2022-06-05 16:47:29 +02:00
trinity-1686a 368ba90879 initial work on associated stream
still require testing, and fixing a few kinks:
- sending packets > 16k truncate them
- send one more packet than it could at eos
- probably update documentation

/!\ contains breaking changes
2022-06-05 15:33:43 +02:00
Alex 12fb3516c0
Also add addresses from incoming connections 2022-05-09 12:00:01 +02:00
Alex 677c471548
Handle the possibility of several alternative IP addresses for peers 2022-05-09 11:54:34 +02:00
Alex faecefc7a8
Fix span kind for RPC client side 2022-04-07 10:31:37 +02:00
Alex 22eaa0f404
Add logic to handle ping timeouts and other failures 2022-03-15 17:03:41 +01:00
Alex fa7cdf3747
Fix test 2022-02-21 17:11:15 +01:00
Alex 96d1f14966
Avoid logging full node IDs 2022-02-21 16:57:07 +01:00
Alex 8858c94289
Implement version tag for application as well 2022-02-21 16:43:17 +01:00
Alex 96a3cc1e1f
Implement version check & transmit more error info 2022-02-21 13:45:41 +01:00
Alex 5bf3886fa2
fix 2022-02-21 13:11:49 +01:00
Alex 3535d15bbd
Fix imports; rust stable in CI 2022-02-21 12:17:01 +01:00
Alex 706a3b4ac4
Formatting & clippy 2022-02-21 12:04:09 +01:00
Alex 3b8bff6341
Refactoring 2022-02-21 12:01:04 +01:00
Alex 109d6c143d Add length of query to span 2022-02-18 20:23:10 +01:00
Alex fb6b4dc9a9 Correct implementation of distributed tracing 2022-02-18 20:10:46 +01:00
Alex ab0f7785ae Add telemetry 2022-02-18 19:01:59 +01:00
Alex dc0b5c0305
Add method to know endpoint path 2022-02-16 13:00:26 +01:00
Alex c20d36892b
Ignore error when sending goodbye 2021-10-25 13:58:42 +02:00
Alex bb4ddf3b61
Better handle connection closing 2021-10-25 09:27:57 +02:00
Alex 9b64c27da6
clippy & fmt 2021-10-22 15:20:07 +02:00
Alex 57327f10e2
fix again 2021-10-21 12:33:35 +02:00
Alex d15378a224
invoke handler that wasn't invoked 2021-10-21 12:24:42 +02:00
Alex 94c01a3565
try fix 2021-10-21 12:14:19 +02:00
Alex e9add586a5
Add test for priority queue (it seems to work as intended) 2021-10-20 16:32:47 +02:00
Alex de981aace0
apply fmt 2021-10-18 12:59:55 +02:00
Alex b32a799c76
Return None when no IPs could be resolved 2021-10-18 12:41:46 +02:00
Alex 238c0162c0
Add parse_and_resolve_peer_addr 2021-10-18 12:39:19 +02:00
Alex e621ba49de
Fix test 2021-10-18 11:29:41 +02:00
Alex dfb0ebb8e1
Full mesh peering strategy uses our local address if necessary 2021-10-15 15:34:03 +02:00
Alex cfa64bc745
Add netapp function to drop all handlers 2021-10-14 17:33:12 +02:00
Alex 8a0bfa0ff6
Change call() to take a ref to the message to be sent
Handlers also receive a ref
2021-10-14 16:11:07 +02:00
Alex fba49cf93d
Add .is_up() on connection state 2021-10-14 14:13:44 +02:00
Alex fe16ff25e9
Export NodeKey and NetworkKey types 2021-10-14 12:08:39 +02:00
Alex 7e49d0dac8
Make a public function to parse peer addresses 2021-10-14 11:58:09 +02:00
Alex 01a2737bd8
Document 2021-10-14 11:35:05 +02:00
Alex e0c63415d3
Fix cargo fmt 2021-10-13 18:07:34 +02:00
Alex dd881e2e60
Add a modest integration test 2021-10-13 18:05:49 +02:00
Alex 7eea46dcf3
Properly implement watches for Basalt 2021-10-13 17:30:41 +02:00
Alex bc86bd3986
improve comment 2021-10-13 17:14:26 +02:00
Alex 70839d70d8
Try to handle termination and closing of stuff properly 2021-10-13 17:12:13 +02:00
Alex 8dede69dee
Fix netapp protocol & adapt basalt to new api 2021-10-13 12:33:14 +02:00
Alex d9bd1182f7
Move out things from conn.rs into two separate files 2021-10-12 18:13:07 +02:00
Alex f87dbe73dc
WIP v0.3.0 with changed API 2021-10-12 17:59:46 +02:00
Alex 040231d554
fix fmt lints 2021-10-12 14:56:29 +02:00
Alex a4069d703c
Use tokio_util::compat instead of the one from kuska-handshake 2021-10-12 14:51:28 +02:00
Alex b14515a422
Rewrite because clippy didn't understand drop 2021-10-12 13:44:42 +02:00
Alex 50806b54b7
fix cargo fmt style 2021-10-12 13:33:42 +02:00
Alex 940750b5db
fix clippy on basalt code 2021-10-12 13:28:57 +02:00
Alex 74e661febe
Fix clippy lints 2021-10-12 13:18:24 +02:00
Alex 7753b789b7
Upgrade to tokio 1.0 2021-10-12 13:07:34 +02:00
Alex c05600d749 make basalt optionnal during compilation 2021-03-10 22:32:14 +01:00
Alex 4e85862a85 Publish Bᴀsᴀʟᴛ 2021-02-18 12:07:04 +01:00
Alex 6ccf3a8495 Add resilience when peer_addr() fails 2021-02-17 17:43:07 +01:00
Alex 9e38b82edc Update documentation 2020-12-14 11:41:25 +01:00
Alex e761f2f6ef Merge branch 'master' of git.deuxfleurs.fr:lx/netapp 2020-12-14 11:22:29 +01:00
Alex 3aa46dfe95 We don't want to publish this 2020-12-14 11:19:59 +01:00
Alex 6742638c81 Replace pk,pubkey,PublicKey by id,NodeID,etc 2020-12-12 21:14:15 +01:00
Alex 5040198972 Make it passive-client-friendly 2020-12-12 19:27:18 +01:00
Alex dbb15807b9 Tentative trace 2020-12-11 20:04:49 +01:00
Alex a7d92689e0 tiny basalt change 2020-12-11 15:58:21 +01:00
Alex 609f0387ca Add ability to specify our public addr for people to contact us back 2020-12-11 15:53:59 +01:00
Alex fd8c487b9b Less verbosity 2020-12-11 13:34:04 +01:00
Alex 58ec2abe1a Small changes 2020-12-07 18:07:55 +01:00
Alex 32a0fbcbd9 Maybe fix something? Idk 2020-12-07 16:00:12 +01:00
Alex 5a9ae8615e Do not close connections immediately on close signal, await for remaining responses 2020-12-07 13:35:24 +01:00
Alex 83789a3076 Call on_disconnected_handler earlier (as soon as .disconnect() is called) 2020-12-07 12:39:34 +01:00
Alex b247f02c29 Don't close connection at first (stupid) excuse 2020-12-04 17:12:10 +01:00
Alex 45766aa5d7 a log 2020-12-04 15:03:48 +01:00
Alex 0b041c77f4 more logging 2020-12-04 14:06:06 +01:00
Alex b63179c699 Logging 2020-12-04 13:58:34 +01:00
Alex 14d34e76f4 Documentate 2020-12-02 20:12:24 +01:00
Alex 46fae5d138 Better handle requests to ourself 2020-12-02 18:10:07 +01:00
Alex d4de2ffc40 First commit 2020-12-02 13:30:47 +01:00