Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
flex-error: resolve conflicts with
master
(#945)
* Implement full-duplex secret connection (#938) * Implement thread-safe cloning of a secret connection Signed-off-by: Thane Thomson <[email protected]> * Expand documentation for SecretConnection on threading considerations Signed-off-by: Thane Thomson <[email protected]> * Extract peer construction into its own method Signed-off-by: Thane Thomson <[email protected]> * Add test for cloned SecretConnection This adds a `TcpStream`-based test for parallelizing operations on a `SecretConnection`. I used `TcpStream` instead of the buffered reader in the other tests because it wasn't feasible to implement the `TryClone` trait for that buffered pipe implementation. Signed-off-by: Thane Thomson <[email protected]> * Add more messages to test Signed-off-by: Thane Thomson <[email protected]> * Expand comment for clarity Signed-off-by: Thane Thomson <[email protected]> * Add .changelog entry Signed-off-by: Thane Thomson <[email protected]> * Restore half-duplex operations Signed-off-by: Thane Thomson <[email protected]> * Extract encrypt/decrypt fns as independent methods Signed-off-by: Thane Thomson <[email protected]> * Remove unnecessary trait bounds Signed-off-by: Thane Thomson <[email protected]> * Extract send/receive state Signed-off-by: Thane Thomson <[email protected]> * Extract read/write functionality as standalone methods Signed-off-by: Thane Thomson <[email protected]> * Add logic to facilitate splitting SecretConnection into its sending and receiving halves Signed-off-by: Thane Thomson <[email protected]> * Restore split SecretConnection test using new semantics Signed-off-by: Thane Thomson <[email protected]> * Update changelog entry Signed-off-by: Thane Thomson <[email protected]> * Update docs for `SecretConnection` Signed-off-by: Thane Thomson <[email protected]> * Condense error reporting Signed-off-by: Thane Thomson <[email protected]> * Extract TryClone trait into its own crate As per the discussion at #938 (comment), this extracts the `TryClone` trait into a new crate called `tendermint-std-ext` in the `std-ext` directory. This new crate is intended to contain any code that we need that extends the Rust standard library. Signed-off-by: Thane Thomson <[email protected]> * Reorder imports Signed-off-by: Thane Thomson <[email protected]> * Assert validation regardless of debug build This introduces the internal encryption assertions at runtime regardless of build type. This may introduce a small performance hit, but it's probably worth it to ensure correctness. Effectively this is keeping an eye on the code in the `encrypt_and_write` fn to ensure its correctness. Signed-off-by: Thane Thomson <[email protected]> * Remove remote_pubkey optionality from sender/receiver halves Signed-off-by: Thane Thomson <[email protected]> * Update SecretConnection docs with comment content Signed-off-by: Thane Thomson <[email protected]> * Fix doc link to TryClone trait Signed-off-by: Thane Thomson <[email protected]> * Fix doc link to TryClone trait Signed-off-by: Thane Thomson <[email protected]> * Add docs on SecretConnection failures and connection integrity Signed-off-by: Thane Thomson <[email protected]> * Synchronize sending/receiving failures to comply with crypto algorithm constraints Signed-off-by: Thane Thomson <[email protected]> * Rename try_split method to split for SecretConnection Signed-off-by: Thane Thomson <[email protected]> * Remove redundant field name prefixes Signed-off-by: Thane Thomson <[email protected]> * Fix broken link in docs Signed-off-by: Thane Thomson <[email protected]> * Fix recent clippy errors on `master` (#941) * Fix needless borrows in codebase Signed-off-by: Thane Thomson <[email protected]> * Ignore needless collect warning (we do actually seem to need it) Signed-off-by: Thane Thomson <[email protected]> * Remove trailing semicolon in macro to fix docs compiling Signed-off-by: Thane Thomson <[email protected]>
- Loading branch information