As per discussions we had, Transaction is not fully thread safe and the fact it could be returned as an error makes things worse because its Error() value, that depends on the state could be changed while it's processed.
So:
Always return error structure/status values instead of the transaction itself
Remove the finalizer (or maybe make it toggable) adding an End() method.
These are both breaking changes, but would simplify #13 too.
As per discussions we had, Transaction is not fully thread safe and the fact it could be returned as an error makes things worse because its Error() value, that depends on the state could be changed while it's processed.
So:
End()
method.These are both breaking changes, but would simplify #13 too.
Closes: #14
Note that this also includes #16