mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-06-17 12:21:41 +02:00
This commit moves the logic handling responses to locally-initiated payments to be asynchronous. The reordering of operations into handleLocalDispatch brings a serious performance burden to the switch's main event loop. However, the at-most once semantics of circuit map and idempotency of cleanup methods allows concurrent operations to run in parallel. Prior to this commit, the async_payments_benchmark would timeout due to the forcibly serial nature of the prior design. With this change, there is no perceptible difference in the benchmark OMM, even though we've added two extra db calls.