Define NextInverted on the graph
This commit is contained in:
parent
93a081d46c
commit
f5ee8419d0
@ -78,15 +78,13 @@ func (b *graphBuilder) Build(ctx context.Context, rr ...resource.Interface) (*gr
|
||||
}
|
||||
}
|
||||
|
||||
g.invert()
|
||||
|
||||
// Do any dep. related preprocessing
|
||||
var state *ResourceState
|
||||
var err error
|
||||
|
||||
err = func() error {
|
||||
for {
|
||||
state, err = g.Next(ctx)
|
||||
state, err = g.NextInverted(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if state == nil {
|
||||
|
||||
@ -6,7 +6,7 @@ import (
|
||||
|
||||
type (
|
||||
Provider interface {
|
||||
Next(ctx context.Context) (*ResourceState, error)
|
||||
NextInverted(ctx context.Context) (*ResourceState, error)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@ -111,6 +111,15 @@ func (g *graph) Relink() {
|
||||
}
|
||||
}
|
||||
|
||||
func (g *graph) NextInverted(ctx context.Context) (s *ResourceState, err error) {
|
||||
g.inverted = true
|
||||
defer func() {
|
||||
g.inverted = false
|
||||
}()
|
||||
|
||||
return g.next(ctx, nil)
|
||||
}
|
||||
|
||||
func (g *graph) Next(ctx context.Context) (s *ResourceState, err error) {
|
||||
return g.next(ctx, nil)
|
||||
}
|
||||
|
||||
@ -128,7 +128,7 @@ func (se *storeEncoder) Encode(ctx context.Context, p envoy.Provider) error {
|
||||
var e *envoy.ResourceState
|
||||
return store.Tx(ctx, se.s, func(ctx context.Context, s store.Storer) (err error) {
|
||||
for {
|
||||
e, err = p.Next(ctx)
|
||||
e, err = p.NextInverted(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user