mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-11-12 07:08:24 +01:00
peer+htlcswitch: update Enable/DisableAdds API
In this commit, the `ChannelUpdateHandler`'s `EnableAdds` and `DisableAdds` methods are adjusted to return booleans instead of errors. This is done becuase currently, any error returned by these methods is treated by just logging the error since today all it means is that the proposed update has already been done. And so all we do today is log the error. But in future, if these methods are updated to return actual errors that need to be handled, then we might forget to handle them correctly at the various call sights. So we instead change the signature of the function to just return a boolean. In future, if we do need to return any error, we will have to go inspect every call sight in any case to fix compliation & then we can be sure we are handling the errors correctly.
This commit is contained in:
@@ -618,41 +618,25 @@ func (l *channelLink) EligibleToUpdate() bool {
|
||||
}
|
||||
|
||||
// EnableAdds sets the ChannelUpdateHandler state to allow UpdateAddHtlc's in
|
||||
// the specified direction. It returns an error if the state already allowed
|
||||
// those adds.
|
||||
func (l *channelLink) EnableAdds(linkDirection LinkDirection) error {
|
||||
// the specified direction. It returns true if the state was changed and false
|
||||
// if the desired state was already set before the method was called.
|
||||
func (l *channelLink) EnableAdds(linkDirection LinkDirection) bool {
|
||||
if linkDirection == Outgoing {
|
||||
if !l.isOutgoingAddBlocked.Swap(false) {
|
||||
return errors.New("outgoing adds already enabled")
|
||||
}
|
||||
return l.isOutgoingAddBlocked.Swap(false)
|
||||
}
|
||||
|
||||
if linkDirection == Incoming {
|
||||
if !l.isIncomingAddBlocked.Swap(false) {
|
||||
return errors.New("incoming adds already enabled")
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return l.isIncomingAddBlocked.Swap(false)
|
||||
}
|
||||
|
||||
// DisableAdds sets the ChannelUpdateHandler state to allow UpdateAddHtlc's in
|
||||
// the specified direction. It returns an error if the state already disallowed
|
||||
// those adds.
|
||||
func (l *channelLink) DisableAdds(linkDirection LinkDirection) error {
|
||||
// the specified direction. It returns true if the state was changed and false
|
||||
// if the desired state was already set before the method was called.
|
||||
func (l *channelLink) DisableAdds(linkDirection LinkDirection) bool {
|
||||
if linkDirection == Outgoing {
|
||||
if l.isOutgoingAddBlocked.Swap(true) {
|
||||
return errors.New("outgoing adds already disabled")
|
||||
}
|
||||
return !l.isOutgoingAddBlocked.Swap(true)
|
||||
}
|
||||
|
||||
if linkDirection == Incoming {
|
||||
if l.isIncomingAddBlocked.Swap(true) {
|
||||
return errors.New("incoming adds already disabled")
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return !l.isIncomingAddBlocked.Swap(true)
|
||||
}
|
||||
|
||||
// IsFlushing returns true when UpdateAddHtlc's are disabled in the direction of
|
||||
|
||||
Reference in New Issue
Block a user