Go to file
Henry de Valence ed608f7231
Initial tower-based peer implementation. (#17)
Add a tower-based peer implementation.  

Tower provides middleware for request-response oriented protocols, while Bitcoin/Zcash just send messages which could be interpreted either as requests or responses, depending on context.  To bridge this mismatch we define our own internal request/response protocol, and implement a per-peer event loop that scans incoming messages and interprets them either as requests from the remote peer to our node, or as responses to requests we made previously.  This is performed by the `PeerService` task, and a corresponding `PeerClient: tower::Service` can send it requests.  These tasks are themselves created by a `PeerConnector: tower::Service` which dials a remote peer and performs a handshake.
2019-10-07 15:36:16 -07:00
.github/workflows Continuous integration (#2) 2019-09-05 13:08:48 -04:00
design Add peer handling diagram. 2019-10-01 13:05:27 -04:00
zebra-chain Suppress warnings from stub functions. 2019-09-30 21:32:57 -04:00
zebra-client Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
zebra-consensus Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
zebra-network Initial tower-based peer implementation. (#17) 2019-10-07 15:36:16 -07:00
zebra-reactor Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
zebra-rpc Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
zebra-script Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
zebra-storage Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
zebrad Initial tower-based peer implementation. (#17) 2019-10-07 15:36:16 -07:00
.gitignore Create workspace skeleton based on design.md 2019-08-29 14:46:54 -07:00
.rustfmt.toml Tracing endpoint (#3) 2019-09-09 13:05:42 -07:00
Cargo.toml Use tracing::instrument and monitor for messages. 2019-09-23 22:17:12 -04:00
Dockerfile Continuous integration (#2) 2019-09-05 13:08:48 -04:00
cloudbuild.yaml Continuous integration (#2) 2019-09-05 13:08:48 -04:00
rust-toolchain Tracing endpoint (#3) 2019-09-09 13:05:42 -07:00