Skip to content

Agent-based implementation #2

@vvvvalvalval

Description

@vvvvalvalval

It may be interesting to offer the user the choice 2 implementations: atom-based and agent-based (currently there's only atom-based).

Potential benefits:

  1. In the atom-based implementation, when the .transact() or .transactAsync() method returns, the transaction has systematically been committed, meaning that any subsequent call to .db() will reflect the transaction. We don't want users to erroneously rely on this in dev and have bad surprises in production. We could even go further expose an option to emulate latency.
  2. more generally an Agent seems closer to the execution model of a real transactor (transactions are queued and executed asynchronously)
  3. under some circumstances, this may increase the speed of tests by relieving the main thread of transaction work.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions