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

[WIP] transition to anyio #302

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open

[WIP] transition to anyio #302

wants to merge 36 commits into from

Commits on May 21, 2024

  1. Ignore Debian subdir

    smurfix committed May 21, 2024
    Configuration menu
    Copy the full SHA
    1a78845 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    5a49d1f View commit details
    Browse the repository at this point in the history
  2. Use anyio, and tasks instead of threading.

    This commit subclasses the paho MQTT client code (somewhat intrusively),
    replacing its threading with anyio-style tasks.
    smurfix committed May 22, 2024
    Configuration menu
    Copy the full SHA
    eca0b61 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. Test with asyncio *and* trio

    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    a7f6dad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dff80a5 View commit details
    Browse the repository at this point in the history
  3. Topic comparison: don't recurse

    Recursion is bad for you. More to the point it's not necessary.
    
    Also, several common non-matches can be checked for up front.
    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    c7d66c6 View commit details
    Browse the repository at this point in the history
  4. Topics: pre-split

    Pre-split the topic so the comparison code doesn't need to run `split`
    each time it's called.
    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    e545ee9 View commit details
    Browse the repository at this point in the history
  5. Topic: refactor

    Drop the trailing hash from the split wildcard topic.
    
    This further simplifies the code and prepares for the next bit.
    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    5a5e64b View commit details
    Browse the repository at this point in the history
  6. Add a message subscription method.

    Subscriptions are arranged into a tree that's traversed
    when a message is dispatched.
    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    1666ef5 View commit details
    Browse the repository at this point in the history
  7. Drop the $share/<foo> prefix from the wildcard tuples up front

    No sense in doing this in the comparator
    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    1c2d765 View commit details
    Browse the repository at this point in the history
  8. docstring update

    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    4e95f24 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    53ec75c View commit details
    Browse the repository at this point in the history
  10. Test non-matching $foo

    smurfix committed May 23, 2024
    Configuration menu
    Copy the full SHA
    08eead0 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    fc86cac View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    8cae372 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Fix test_messages_generator_is_reusable

    Use `contextlib.aclosing` to cleanly stop the iterator
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    d72f3a0 View commit details
    Browse the repository at this point in the history
  2. test_client: don't use anyio.wait_all_tasks_blocked

    instead, synchronize via task_status.started()
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    f66d405 View commit details
    Browse the repository at this point in the history
  3. test_client_unsubscribe: fix race condition

    If the server is busy it might delay forwarding messages
    until after it sees the unsubscription.
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    d7363d1 View commit details
    Browse the repository at this point in the history
  4. Cleanly close queues

    anyio 4.4 warns when that doesn't happen
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    db68cbd View commit details
    Browse the repository at this point in the history
  5. drop dead code

    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    e03b730 View commit details
    Browse the repository at this point in the history
  6. Basic split subscription handling

    This change adds subscriptions with separate message queues.
    
    Does not yet handle duplicate subscriptions.
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    f86a007 View commit details
    Browse the repository at this point in the history
  7. Fix unsubscription

    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    6ef44ce View commit details
    Browse the repository at this point in the history
  8. stupid logic error

    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    9bc237f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b403430 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e10d7a9 View commit details
    Browse the repository at this point in the history
  11. Simplify auto-unsubscribe code

    needs just a bool return, not a counter
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    604ed19 View commit details
    Browse the repository at this point in the history
  12. Extend subscription test

    This test doesn't yet support subscribing to a topic multiple times.
    
    TODO.
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    89baab4 View commit details
    Browse the repository at this point in the history
  13. Use subscription identifiers, if supported

    This change skips walking the topic tree, assuming server support.
    smurfix committed May 27, 2024
    Configuration menu
    Copy the full SHA
    2c28b7f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    cb20faf View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    ef9868f View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Typo

    smurfix committed May 28, 2024
    Configuration menu
    Copy the full SHA
    c643f2d View commit details
    Browse the repository at this point in the history
  2. Handle asyncio queues

    smurfix committed May 28, 2024
    Configuration menu
    Copy the full SHA
    ab969bb View commit details
    Browse the repository at this point in the history
  3. Document new features

    smurfix committed May 28, 2024
    Configuration menu
    Copy the full SHA
    9c6a7f4 View commit details
    Browse the repository at this point in the history
  4. Initial ruff-format-ting

    More fixes required …
    smurfix committed May 28, 2024
    Configuration menu
    Copy the full SHA
    bc6dad8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    170d234 View commit details
    Browse the repository at this point in the history
  6. Remove dependency on attrs

    turns out that it obfuscates more than it helps, at least here
    smurfix committed May 28, 2024
    Configuration menu
    Copy the full SHA
    83c43e5 View commit details
    Browse the repository at this point in the history