Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Greatly improve connection resets on DoIP and miscellaneous fixes throughout #610

Merged
merged 10 commits into from
Oct 23, 2024

Commits on Oct 23, 2024

  1. chore: Retrieve unretrieved Task errors to avoid random stack traces

    Tasks that terminate with error will produce a stack trace that will be
    displayed once the interpreter finished. This commit ensures that we
    consume the stack trace and generate a log message when it happens
    instead.
    ferdinandjarisch committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    3defd8c View commit details
    Browse the repository at this point in the history
  2. fix: By default, wait for 10s for ECU

    Currently we never call wait_for_ecu with a explicit timeout value but
    instead default on self.timeout.
    This is unexpected and can be confusing, so instead default to 10s,
    which is 5x more than the current default of 2s coming from self.timeout
    ferdinandjarisch committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    a807cd8 View commit details
    Browse the repository at this point in the history
  3. chore: Do not reconnect transport layer on UDSExceptions

    UDSExceptions do not require to reconnect the transport.
    ferdinandjarisch committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    b8d3970 View commit details
    Browse the repository at this point in the history
  4. !fix: Let max_retry actually count retries

    Currently max_retry already counts the initial request as well, which is
    counter-intuitive.
    This commit effectively turns retries into retries, meaning a value for
    max_retry of 3 would result in a total of 4 requests sent to the target.
    ferdinandjarisch committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    fdb5f3e View commit details
    Browse the repository at this point in the history
  5. fix: Handle ConnectionErrors during requests

    The TCP connection of DoIP can close midway through a request,
    currently resulting in broken states. This commit gracefully handles
    ConnectionErrors while waiting for a response within the retry loop,
    such that recoverable ConnectionErrors are simply recovered.
    ferdinandjarisch committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    2e4b55d View commit details
    Browse the repository at this point in the history
  6. feat: Handle reconnects of DoIP transport more gracefully

    This commit adds a loop to the reconnect function to be able to recover
    also when the very first reconnection-attempt is unsuccessful.
    The loop is only active, however, when a timeout value is set, which for
    now will only be the case for DoIP.
    ferdinandjarisch committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    32045bf View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3b7640d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    cf6b8df View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0057bcb View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bfde863 View commit details
    Browse the repository at this point in the history