refactor(node): remove more expect calls in node.rs#267
Merged
Conversation
node.rs * add 4 variants to NodeError * return Result<_, NodeError> from add_block() and related Node methods. * replace some expect calls with NodeError::Inconsistency * return NodeError::BadMagic error from ::handle_message() * log error in Node::main if receive_message task fails * log error in Node::main if receive_request task fails * log error in Node::main if handle_mined_block task fails * log error and pause tasks in Node::main if try_get_time() fails * replace get_time() with try_get_time() where possible persistence.rs * return Result from closure arg to BlockStorage::read_blocks() util.rs * change EpochError visibility: pub(crate) --> pub
Contributor
|
Very good job. The code looks perfect
But I think there are still more places causing |
racs4
approved these changes
Dec 22, 2022
Author
yeah, I've just been going after unwrap/expect until now. I intend to make another pass for array index stuff. |
Contributor
That would be in another PR, correct? |
Author
|
yes, in another PR I mean. trying to keep them as small/focused as I can so easier to review. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #247 (more to come)
When combined with #265, all except 2 unwrap/expect are removed from node.rs. The remaining 2 expect occurrences are Mutex::lock().expect(), which I consider acceptable (necessary evil) for now.
This PR endeavors to keep the overall logic the same, except that:
node.rs
persistence.rs
util.rs