Skip to main content

async_events 1.4.0 copy "async_events: ^1.4.0" to clipboard
async_events: ^1.4.0 copied to clipboard

A portable asynchronous event hub supporting multiple storage types

1.4.0 #

  • AsyncEventPulling.start: restarts a pulling stopped while a pull was still scheduled (or running). start returned at once (isStarted was still true), and the pending pull then saw the stop and ended the pulling for good: a pulling stopped and started again quickly (e.g. a logout and a login, sharing the same AsyncEventChannel.pulling) never pulled again.
  • AsyncEventChannel.pulling: starts the shared AsyncEventPulling also if it was stopped (started), not only if it was never started.
  • AsyncCaller.call retries:
    • A call canceled (AsyncCall.cancel, e.g. cancelChannelCalls) is not retried anymore. It kept retrying (up to maxRetries, with growing intervals) after the cancel.
    • A retry returning null is a valid result. It threw (a ! on the result), so a retried lastID / last of an empty channel failed.
    • The error reported, after the retries, is the last one (it was the first).
    • A synchronous call canceled while running throws its cancel error (its cause). The error was caught again as a failure of the call, and wrapped by the retry, losing the cause.
  • sdk: '>=3.13.0 <4.0.0' (reflection_factory 2.13 requires it); the code formatted for it.
  • reflection_factory: ^2.13.0 (the reflection regenerated with it: it was generated with 2.5.1, so ensure_build failed).
  • Dependencies upgraded:
    • async_extension: ^1.2.22
    • collection: ^1.19.1
    • lints: ^6.1.0
    • build_runner: ^2.16.2
    • build_verify: ^3.1.1
    • dependency_validator: ^5.1.0
    • test: ^1.33.0
  • CI: separate build, test_vm (with the coverage) and test_chrome jobs; the tests run once per platform. actions/checkout@v7, codecov/codecov-action@v7.

1.3.0 #

  • sdk: '>=3.6.0 <4.0.0'

  • async_extension: ^1.2.14

  • collection: ^1.19.0

  • logging: ^1.3.0

  • reflection_factory: ^2.5.1

  • lints: ^5.1.1

  • build_runner: ^2.4.15

  • test: ^1.25.15

1.2.0 #

  • AsyncEventID: added tryParse.

  • AsyncEventHub: added purge.

  • AsyncEventChannel:

    • Added purge.
    • submit: added parameter time.
  • AsyncEventStorage:

    • Rename purge to purgeEpochs.
    • Added purgeEvents.
  • Fix channel initial synchronization when using limit.

1.1.1 #

  • AsyncEventChannel, AsyncEventStorage:

    • fetch: added parameter limit.
  • async_extension: ^1.2.12

  • reflection_factory: ^2.3.4

1.1.0 #

  • sdk: '>=3.0.0 <4.0.0'

  • async_extension: ^1.2.5

  • reflection_factory: ^2.3.0

  • logging: ^1.2.0

  • lints: ^3.0.0

  • build_runner: ^2.4.8

  • dependency_validator: ^3.2.3

  • test: ^1.25.2

1.0.12 #

  • AsyncEventChannel._onNewEvent:
    • Fix call to complete``: check if !isCompleted`.
  • sdk: '>=2.18.0 <4.0.0'
  • async_extension: ^1.1.1
  • collection: ^1.18.0
  • reflection_factory: ^2.1.6
  • test: ^1.24.3

1.0.11 #

  • AsyncEventChannel.pulling: Fix behavior of delay parameter.

1.0.10 #

  • sdk: '>=2.18.0 <3.0.0'
  • async_extension: ^1.1.0
  • reflection_factory: ^2.0.7
  • test: ^1.24.1

1.0.9 #

  • reflection_factory: ^2.0.0
  • logging: ^1.1.1
  • lints: ^2.0.1
  • build_runner: ^2.3.3
  • build_verify: ^3.1.0
  • test: ^1.22.2

1.0.8 #

  • Added AsyncCaller: expose call handler with retry support.
  • AsyncEventHub and AsyncEventStorageRemote:
    • Added cancelChannelCalls.
  • AsyncEventPulling: added cancelPulling.
  • AsyncEventSubscriptionGroup._flushSync:
    • Fix possible stack overflow when flush is not using Future.

1.0.7 #

  • AsyncEventStorageRemote: log call error before retry attempt.
  • reflection_factory: ^1.2.17

1.0.6 #

  • Added AsyncEventPulling.pull.
  • Add AsyncEventError.
  • AsyncEventStorageRemote:
    • Added field retryInterval.
    • Retries of failed requests.

1.0.5 #

  • AsyncEventChannel:
    • Added fetchDelayed and waitNewEvent.
  • reflection_factory: ^1.2.13

1.0.4 #

  • reflection_factory: ^1.2.12

1.0.3 #

  • AsyncEvent:
    • Field channelName: @JsonFieldAlias('channel')

1.0.2 #

  • @EnableReflection(): AsyncEventID, AsyncEvent.
  • AsyncEvent:
    • toJson: id is a String now.
  • Added AsyncEventPulling.
  • AsyncEventChannel:
    • Improved event order sync.
  • reflection_factory: ^1.2.6
  • build_runner: ^2.1.5
  • build_verify: ^3.0.0

1.0.1 #

  • Added AsyncEventSubscriptionGroup:
    • AsyncEventSubscription are now part of a group, to optimize multiple similar subscriptions.
    • Better synchronization and flush of unordered events.
  • Added AsyncEventStorageAsJSON and AsyncEventStorageFromJSON:
    • Wrappers that help implementation of storage clients and servers.
  • Added AsyncEventStorageRemote:
    • A remote storage.
    • Added AsyncEventStorageClient.
  • Improved documentation.
  • collection: ^1.16.0

1.0.0 #

  • Initial version.
5
likes
160
points
5.87k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A portable asynchronous event hub supporting multiple storage types

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

async_extension, collection, logging, reflection_factory

More

Packages that depend on async_events