introduce stakepoold connection manager #381
Merged
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.
dcrstakepool
connects to multiple instances ofstakepoold
anddcrwallet
over gRPC. The code managing thedcrwallet
gRPC connections is significantly more robust than thestakepoold
counterpart.dcrwallet
connections are managed in a single place - namely dcrclient.go. This file is responsible for comms to the multipledcrwallet
connections, error handling, retrying etc. Management ofstakepoold
connections is scattered throughout the code.This PR introduces a connection manager for the stakepoold connections, similar to what exists for dcrwallet. Making stakepoold connection management more robust will become important in the future as we take further steps towards #227 and the
dcrwallet
connections are removed. The PR only refactors existing code and does not add any new functionality.Marking the PR as a draft because I would like to properly validate the work on testnet before it is merged. Not possible right now because testnet blocks are not being mined