Add keepalive config to chain client #944
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.
Add keepalive configuration to blockchain client initialization using functional options pattern
Refactors the
blockchain.NewClient()constructor to use a functional options pattern withClientOptionparameters instead of directly accepting WebSocket URLs. The changes introduce new configuration functionsWithWebSocketURL()andWithKeepAliveConfig()that allow configuring TCP keep-alive settings for WebSocket connections. The implementation adds a custom WebSocket dialer with configurable TCP keep-alive behavior, and updates all client initialization calls across the codebase to use the new pattern. In several locations, TCP keep-alive is explicitly disabled by settingEnable: falsein the keep-alive configuration.📍Where to Start
Start with the refactored
NewClientfunction in client.go to understand the new functional options pattern and keep-alive configuration implementation.Macroscope summarized 180d8fe.