htlcswitch: extract updateCommitTxOrFail in link
Deduplicate code and prepare for further split of handleDownstreamPkt.
This commit is contained in:
parent
7afb43a012
commit
b559811bf5
@ -1097,9 +1097,7 @@ func (l *channelLink) htlcManager() {
|
|||||||
// including all the currently pending entries. If the
|
// including all the currently pending entries. If the
|
||||||
// send was unsuccessful, then abandon the update,
|
// send was unsuccessful, then abandon the update,
|
||||||
// waiting for the revocation window to open up.
|
// waiting for the revocation window to open up.
|
||||||
if err := l.updateCommitTx(); err != nil {
|
if !l.updateCommitTxOrFail() {
|
||||||
l.fail(LinkFailureError{code: ErrInternalError},
|
|
||||||
"unable to update commitment: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1476,9 +1474,7 @@ func (l *channelLink) handleDownstreamPkt(pkt *htlcPacket) {
|
|||||||
if l.channel.PendingLocalUpdateCount() >= uint64(l.cfg.BatchSize) ||
|
if l.channel.PendingLocalUpdateCount() >= uint64(l.cfg.BatchSize) ||
|
||||||
isSettle {
|
isSettle {
|
||||||
|
|
||||||
if err := l.updateCommitTx(); err != nil {
|
if !l.updateCommitTxOrFail() {
|
||||||
l.fail(LinkFailureError{code: ErrInternalError},
|
|
||||||
"unable to update commitment: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1753,9 +1749,7 @@ func (l *channelLink) handleUpstreamMsg(msg lnwire.Message) {
|
|||||||
// Otherwise, the remote party initiated the state transition,
|
// Otherwise, the remote party initiated the state transition,
|
||||||
// so we'll reply with a signature to provide them with their
|
// so we'll reply with a signature to provide them with their
|
||||||
// version of the latest commitment.
|
// version of the latest commitment.
|
||||||
if err := l.updateCommitTx(); err != nil {
|
if !l.updateCommitTxOrFail() {
|
||||||
l.fail(LinkFailureError{code: ErrInternalError},
|
|
||||||
"unable to update commitment: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1832,9 +1826,7 @@ func (l *channelLink) handleUpstreamMsg(msg lnwire.Message) {
|
|||||||
// but there are still remote updates that are not in the remote
|
// but there are still remote updates that are not in the remote
|
||||||
// commit tx yet, send out an update.
|
// commit tx yet, send out an update.
|
||||||
if l.channel.OweCommitment(true) {
|
if l.channel.OweCommitment(true) {
|
||||||
if err := l.updateCommitTx(); err != nil {
|
if !l.updateCommitTxOrFail() {
|
||||||
l.fail(LinkFailureError{code: ErrInternalError},
|
|
||||||
"unable to update commitment: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1918,6 +1910,18 @@ func (l *channelLink) ackDownStreamPackets() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// updateCommitTxOrFail updates the commitment tx and if that fails, it fails
|
||||||
|
// the link.
|
||||||
|
func (l *channelLink) updateCommitTxOrFail() bool {
|
||||||
|
if err := l.updateCommitTx(); err != nil {
|
||||||
|
l.fail(LinkFailureError{code: ErrInternalError},
|
||||||
|
"unable to update commitment: %v", err)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// updateCommitTx signs, then sends an update to the remote peer adding a new
|
// updateCommitTx signs, then sends an update to the remote peer adding a new
|
||||||
// commitment to their commitment chain which includes all the latest updates
|
// commitment to their commitment chain which includes all the latest updates
|
||||||
// we've received+processed up to this point.
|
// we've received+processed up to this point.
|
||||||
|
Loading…
Reference in New Issue
Block a user