mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-02-23 06:35:07 +01:00
multi: add ability to read warning messages and log on link level
Warning messages are intended to add "softer" failure modes for peers, so to start with we simply log the warnings sent to us. While we "may" disconnect from the peer according to the spec, we start with the least extreme option (which is also not a change in behavior because previously we'd just log that we received an unknown odd message).
This commit is contained in:
parent
f5ef4992e0
commit
99828b8ebb
2 changed files with 14 additions and 0 deletions
|
@ -1996,6 +1996,13 @@ func (l *channelLink) handleUpstreamMsg(msg lnwire.Message) {
|
|||
// Update the mailbox's feerate as well.
|
||||
l.mailBox.SetFeeRate(fee)
|
||||
|
||||
// In the case where we receive a warning message from our peer, just
|
||||
// log it and move on. We choose not to disconnect from our peer,
|
||||
// although we "MAY" do so according to the specification.
|
||||
case *lnwire.Warning:
|
||||
l.log.Warnf("received warning message from peer: %v",
|
||||
msg.Error.Error())
|
||||
|
||||
case *lnwire.Error:
|
||||
// Error received from remote, MUST fail channel, but should
|
||||
// only print the contents of the error message if all
|
||||
|
|
|
@ -1455,6 +1455,10 @@ out:
|
|||
break out
|
||||
}
|
||||
|
||||
case *lnwire.Warning:
|
||||
targetChan = msg.ChanID
|
||||
isLinkUpdate = p.handleError(&msg.Error)
|
||||
|
||||
case *lnwire.Error:
|
||||
targetChan = msg.ChanID
|
||||
isLinkUpdate = p.handleError(msg)
|
||||
|
@ -1688,6 +1692,9 @@ func messageSummary(msg lnwire.Message) string {
|
|||
return fmt.Sprintf("chan_id=%v, id=%v, fail_code=%v",
|
||||
msg.ChanID, msg.ID, msg.FailureCode)
|
||||
|
||||
case *lnwire.Warning:
|
||||
return fmt.Sprintf("%v", msg.Error.Error())
|
||||
|
||||
case *lnwire.Error:
|
||||
return fmt.Sprintf("%v", msg.Error())
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue