Skip to content

Add retry support to ruma-client #5

@jplatte

Description

@jplatte

The shortcoming you see

Currently, ruma-client never retries failed requests. Implementing retries on top of ruma-client means re-serializing requests, which is not ideal.

The improvement

Make it easier to do request retries w/o serializing the same request again, in one of these ways:

  1. Direct support
    • pro: Makes it easy to use ruma-client in a more robust way
    • con: Larger API surface
  2. Callback API
    • pro: Smaller API surface
    • con: Kind of ugly API?
  3. Enhancing ruma-client's Error type (making the serialized request accessible from it)
    • pro: Maximally flexible
    • con: Also somewhat ugly?

I'm currently leaning towards option 3, but I'm not really certain.

edit: Option 3 also allows adding option 1 on top later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions