Max Inden
|
3f629f743b
|
client/network: Use request response for block requests (#7478)
* client/network: Add scaffolding for finality req to use req resp
#sc
* client/network/src/finality_requests: Remove
* client/network/src/behaviour: Pass request id down to sync
* client/network: Use request response for block requests
* client/network: Move handler logic into *_*_handler.rs
* client/network: Track ongoing finality requests in protocol.rs
* client/network: Remove commented out finalization initialization
* client/network: Add docs for request handlers
* client/network/finality_request_handler: Log errors
* client/network/block_request_handler: Log errors
* client/network: Format
* client/network: Handle block request failure
* protocols/network: Fix tests
* client/network/src/behaviour: Handle request sending errors
* client/network: Move response handling into custom method
* client/network/protocol: Handle block response errors
* client/network/protocol: Remove tracking of obsolete requests
* client/network/protocol: Remove block request start time tracking
This will be handled generically via request-responses.
* client/network/protocol: Refactor on_*_request_started
* client/network: Pass protocol config instead of protocol name
* client/network: Pass protocol config in tests
* client/network/config: Document request response configs
* client/network/src/_request_handler: Document protocol config gen
* client/network/src/protocol: Document Peer request values
* client/network: Rework request response to always use oneshot
* client/network: Unified metric reporting for all request protocols
* client/network: Move protobuf parsing into protocol.rs
* client/network/src/protocol: Return pending events after poll
* client/network: Improve error handling and documentation
* client/network/behaviour: Remove outdated error types
* Update client/network/src/block_request_handler.rs
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
* Update client/network/src/finality_request_handler.rs
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
* client/network/protocol: Reduce reputation on timeout
* client/network/protocol: Refine reputation changes
* client/network/block_request_handler: Set and explain queue length
* client/service: Deny block requests when light client
* client/service: Fix role matching
* client: Enforce line width
* client/network/request_responses: Fix unit tests
* client/network: Expose time to build response via metrics
* client/network/request_responses: Fix early connection closed error
* client/network/protocol: Fix line length
* client/network/protocol: Disconnect on most request failures
* client/network/protocol: Disconnect peer when oneshot is canceled
* client/network/protocol: Disconnect peer even when connection closed
* client/network/protocol: Remove debugging log line
* client/network/request_response: Use Clone::clone for error
* client/network/request_response: Remove outdated comment
With libp2p v0.33.0 libp2p-request-response properly sends inbound
failures on connections being closed.
Co-authored-by: Addie Wagenknecht <addie@nortd.com>
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
|
2021-01-05 18:20:54 +00:00 |
|