The current STMEngine uses a fixed exponential backoff strategy for retrying transactions after conflicts.
While simple and effective for basic scenarios, it lacks flexibility and does not adapt to varying contention levels or workloads.
Proposal
Introduce a pluggable Contention Manager interface, then allow STMEngine.Atomic to optionally accept an IContentionManager instance.
Benefits
- Enables smarter retry logic (e.g., randomized, linear, or adaptive backoff)
- Allows priority-based conflict resolution (e.g., aging, transaction weight)
- Makes STMSharp more extensible and research-friendly