You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
… error reporting (#206)
The purpose of this PR is to pave the way for making the Identify
protocol more robust, which is currently linked with the low number of
peers and connective issues over a long period of time
- paritytech/polkadot-sdk#4925
This PR adds a coherent `DialError` that exposes the minimal information
users need to know about dial failures.
- paritytech/polkadot-sdk#5239
A new litep2p event is added for reporting multiple dial errors that
occur on different protocols back to the user:
```rust
/// A list of multiple dial failures.
ListDialFailures {
/// List of errors.
///
/// Depending on the transport, the address might be different for each error.
errors: Vec<(Multiaddr, DialError)>,
},
```
This event eases the debugging of substrate connectivity issues. At the
same time, it can be used in a future PR to inform back to the Identify
protocol which self-reported addresses of some peers are unreachable:
- #203
### Next Steps
- Add more tests
- Warp sync + sync full nodes since this is touching individual
transports
### Future Work
- The overarching `litep2p::Error` needs a closer look and a
refactoring:
- #204
- #128
- ConnectionError event for individual transports can be simplified:
- #205
- I've observed some inconsistencies in handling TCP vs WebSocket
connection timeouts. I believe that we can have another pass and share
even more code between them:
- #70
---------
Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: Dmitry Markin <[email protected]>
The
ConnectionError::Timeout
variant can be deduced from theFailedToNegotiate::SubstreamError
.litep2p/src/transport/tcp/connection.rs
Lines 85 to 106 in c9e7aff
The text was updated successfully, but these errors were encountered: