Documentation ¶
Overview ¶
Package segverifier implements primitives for verifying path segments.
A Unit contains a path segment, and all the revocations that reference IFIDs in that path segment.
When a unit is verified, it spawns one goroutine for the path segment's verification. It then collects the results from all workers (forcefully terminating them if the unit's context is Done). A UnitResult object is returned, containing a reference to the Unit itself and a map of errors. The map only contains non-nil errors as values, and the keys are represented by the following:
- If the path segment verification failed, its error is contained at key -1
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrSegment indicates the segment failed to verify. ErrSegment = serrors.New("segment verification error") )
Errors
Functions ¶
func StartVerification ¶
func StartVerification(ctx context.Context, verifier infra.Verifier, server net.Addr, segMetas []*seg.Meta) (chan UnitResult, int)
StartVerification builds the units for the given segMetas and sRevInfos and spawns verify method on the units. StartVerification returns a channel for the UnitResult and the expected amount of results.
Types ¶
type ElemResult ¶
type Unit ¶
Unit contains multiple verification items.
func BuildUnits ¶
BuildUnits constructs one verification unit for each segment, together with its associated revocations.
type UnitResult ¶
func (*UnitResult) SegError ¶
func (r *UnitResult) SegError() error
SegError returns the verification error of the segment or nil if there was none.