mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-01-19 14:45:23 +01:00
4fbab45a5f
In this commit we defer processRemoteAdds using a new mechanism on the quiescer where we capture a closure that needs to be run. We do this because we need to avoid the scenario where we send back immediate resolutions to the newly added HTLCs when quiescent as it is a protocol violation. It is not enough for us to simply defer sending the messages since the purpose of quiescence itself is to have well-defined and agreed upon channel state. If, for whatever reason, the node (or connection) is restarted between when these hooks are captured and when they are ultimately run, they will be resolved by the resolveFwdPkgs logic when the link comes back up. In a future commit we will explicitly call the quiescer's resume method when it is OK for htlc traffic to commence. |
||
---|---|---|
.. | ||
hodl | ||
hop | ||
testdata | ||
circuit_map_test.go | ||
circuit_map.go | ||
circuit_test.go | ||
circuit.go | ||
decayedlog_test.go | ||
decayedlog.go | ||
failure_detail.go | ||
failure_test.go | ||
failure.go | ||
held_htlc_set_test.go | ||
held_htlc_set.go | ||
htlcnotifier.go | ||
interceptable_switch.go | ||
interfaces.go | ||
link_isolated_test.go | ||
link_test.go | ||
link.go | ||
linkfailure.go | ||
log.go | ||
mailbox_test.go | ||
mailbox.go | ||
mock.go | ||
packet.go | ||
payment_result_test.go | ||
payment_result.go | ||
quiescer_test.go | ||
quiescer.go | ||
resolution_store_test.go | ||
resolution_store.go | ||
sequencer.go | ||
switch_test.go | ||
switch.go | ||
test_utils.go |