2019-11-08 16:29:16 +03:00
|
|
|
package feature
|
|
|
|
|
|
|
|
// Set is an enum identifying various feature sets, which separates the single
|
|
|
|
// feature namespace into distinct categories depending what context a feature
|
|
|
|
// vector is being used.
|
|
|
|
type Set uint8
|
|
|
|
|
|
|
|
const (
|
|
|
|
// SetInit identifies features that should be sent in an Init message to
|
|
|
|
// a remote peer.
|
|
|
|
SetInit Set = iota
|
|
|
|
|
|
|
|
// SetLegacyGlobal identifies features that should be set in the legacy
|
|
|
|
// GlobalFeatures field of an Init message, which maintains backwards
|
|
|
|
// compatibility with nodes that haven't implemented flat features.
|
|
|
|
SetLegacyGlobal
|
|
|
|
|
|
|
|
// SetNodeAnn identifies features that should be advertised on node
|
|
|
|
// announcements.
|
|
|
|
SetNodeAnn
|
|
|
|
|
|
|
|
// SetInvoice identifies features that should be advertised on invoices
|
|
|
|
// generated by the daemon.
|
|
|
|
SetInvoice
|
2021-05-06 19:14:20 +03:00
|
|
|
|
|
|
|
// SetInvoiceAmp identifies the features that should be advertised on
|
|
|
|
// AMP invoices generated by the daemon.
|
|
|
|
SetInvoiceAmp
|
2019-11-08 16:29:16 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
// String returns a human-readable description of a Set.
|
|
|
|
func (s Set) String() string {
|
|
|
|
switch s {
|
|
|
|
case SetInit:
|
|
|
|
return "SetInit"
|
|
|
|
case SetLegacyGlobal:
|
|
|
|
return "SetLegacyGlobal"
|
|
|
|
case SetNodeAnn:
|
|
|
|
return "SetNodeAnn"
|
|
|
|
case SetInvoice:
|
|
|
|
return "SetInvoice"
|
2021-05-06 19:14:20 +03:00
|
|
|
case SetInvoiceAmp:
|
|
|
|
return "SetInvoiceAmp"
|
2019-11-08 16:29:16 +03:00
|
|
|
default:
|
|
|
|
return "SetUnknown"
|
|
|
|
}
|
|
|
|
}
|