types/mapx, ipn/ipnext: add ordered map, akin to set.Slice
We had an ordered set type (set.Slice) already but we occasionally want to do the same thing with a map, preserving the order things were added, so add that too, as mapsx.OrderedMap[K, V], and then use in ipnext. Updates #12614 Change-Id: I85e6f5e11035571a28316441075e952aef9a0863 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
3bc10ea585
commit
dbf13976d3
@@ -162,17 +162,14 @@ func newExtensionHost(logf logger.Logf, b Backend, overrideExts ...*ipnext.Defin
|
||||
}
|
||||
|
||||
// Use registered extensions.
|
||||
exts := ipnext.Extensions().All()
|
||||
numExts := ipnext.Extensions().Len()
|
||||
extDef := ipnext.Extensions()
|
||||
if overrideExts != nil {
|
||||
// Use the provided, potentially empty, overrideExts
|
||||
// instead of the registered ones.
|
||||
exts = slices.All(overrideExts)
|
||||
numExts = len(overrideExts)
|
||||
extDef = slices.Values(overrideExts)
|
||||
}
|
||||
|
||||
host.allExtensions = make([]ipnext.Extension, 0, numExts)
|
||||
for _, d := range exts {
|
||||
for d := range extDef {
|
||||
ext, err := d.MakeExtension(logf, b)
|
||||
if errors.Is(err, ipnext.SkipExtension) {
|
||||
// The extension wants to be skipped.
|
||||
|
||||
Reference in New Issue
Block a user