Documentation
¶
Overview ¶
Package graph owns normalized pipeline DAG semantics.
Index ¶
- Variables
- func ValidateConnectivity(g *Graph) error
- type Edge
- type EdgeKind
- type Graph
- func (g *Graph) Edges() []Edge
- func (g *Graph) Nodes() []Node
- func (g *Graph) QueryParameterEdges() []Edge
- func (g *Graph) SinkInputStepSlug(stepSlug slug.Slug) (slug.Slug, bool)
- func (g *Graph) Step(stepSlug slug.Slug) (pipelinespec.Step, bool)
- func (g *Graph) StepInputEdges() []Edge
- func (g *Graph) TopologicalSteps() []pipelinespec.Step
- func (g *Graph) TransformInputStepSlugs(stepSlug slug.Slug) (map[string]slug.Slug, bool)
- type Node
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNilPipeline = xerror.InvalidRequired(xerror.Pipeline) ErrOrphanStep = xerror.OrphanStep() )
Functions ¶
func ValidateConnectivity ¶
ValidateConnectivity rejects orphan query steps in the normalized graph.
Types ¶
type Edge ¶
type Edge struct {
Kind EdgeKind
FromStepSlug slug.Slug
ToStepSlug slug.Slug
FromIndex int
ToIndex int
InputName string
}
Edge is a normalized directional data-flow edge between two steps.
type EdgeKind ¶
type EdgeKind string
EdgeKind identifies the spec construct that creates a data-flow edge.
type Graph ¶
type Graph struct {
// contains filtered or unexported fields
}
Graph is the normalized pipeline DAG.
func Normalize ¶
func Normalize(pipeline *pipelinespec.Pipeline) (*Graph, error)
Normalize builds a normalized DAG from the pipeline spec.
func (*Graph) QueryParameterEdges ¶
QueryParameterEdges returns query parameter reference edges only.
func (*Graph) SinkInputStepSlug ¶
SinkInputStepSlug returns the upstream step slug for a sink input.
func (*Graph) StepInputEdges ¶
StepInputEdges returns transform and sink input edges only.
func (*Graph) TopologicalSteps ¶
func (g *Graph) TopologicalSteps() []pipelinespec.Step
TopologicalSteps returns the normalized execution order.
type Node ¶
type Node struct {
Step pipelinespec.Step
Index int
}
Node is one pipeline step in the normalized graph.
Click to show internal directories.
Click to hide internal directories.