-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
With this change Recon is a key value store instead of simply a key store. Recon synchronization is the same in principle but its underlying protocol has been refactored. The protocol design is now has clear initiator and responder roles. Generally the initiator makes requests and the responder responds. Messages themselves are small and represent a small amount of work. This way both nodes can be actively working concurrently to synchronize. Prior to this change nodes would be idle while the other was working and would frequently deadlock if a single message size grew too large. Values are synchronized by sending ValueRequests and ValueResponses along side synchronization messages. The API into the Recon protocol is now a Stream + Sink allowing any system that can transport messages in full duplex a possible transport for Recon. The protocol implementation is no longer specific to libp2p. This means we can use HTTP in the future. However this PR removes the HTTP implementation as its not trivial with the HTTP server we are using to create a full duplex channel.
- Loading branch information
1 parent
4a55ed9
commit 7f3c1c9
Showing
55 changed files
with
3,982 additions
and
316,883 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.