htlcswitch: sync link hand-off

This commit extends the link with a new synchronous delivery point for
local UpdateAddHTLC messages. The switch method SendHTLC is updated to
use this delivery point and thereby becomes a synchronous call.

For MPP payments, synchronous hand-off is important. Otherwise the next
pathfinding round could start without the channel balance updated yet.
This commit is contained in:
Joost Jager
2020-04-13 17:29:52 +02:00
parent de2df5606a
commit c325bf8c57
6 changed files with 120 additions and 18 deletions

View File

@@ -70,6 +70,10 @@ type ChannelLink interface {
// possible).
HandleSwitchPacket(*htlcPacket) error
// HandleLocalAddPacket handles a locally-initiated UpdateAddHTLC
// packet. It will be processed synchronously.
HandleLocalAddPacket(*htlcPacket) error
// HandleChannelUpdate handles the htlc requests as settle/add/fail
// which sent to us from remote peer we have a channel with.
//