• Alin Dima's avatar
    add fallback request for req-response protocols (#2771) · f2a750ee
    Alin Dima authored
    Previously, it was only possible to retry the same request on a
    different protocol name that had the exact same binary payloads.
    
    Introduce a way of trying a different request on a different protocol if
    the first one fails with Unsupported protocol.
    
    This helps with adding new req-response versions in polkadot while
    preserving compatibility with unupgraded nodes.
    
    The way req-response protocols were bumped previously was that they were
    bundled with some other notifications protocol upgrade, like for async
    backing (but that is more complicated, especially if the feature does
    not require any changes to a notifications protocol). Will be needed for
    implementing https://github.com/polkadot-fellows/RFCs/pull/47
    
    TODO:
    - [x]  add tests
    - [x] add guidance docs in polkadot about req-response protocol
    versioning
    f2a750ee