Bringup waits for nothing (no sleeps, no link waits, SETs fire cable-or-not with advert readback), errors held off the display while a measure is in flight, status poll is a deadline not a retry count, ghost signals (implausible SNR, undefined ECD verdict) panic outright; persistent stale-pipeline bridge fact documented
This commit is contained in:
@@ -299,6 +299,19 @@ func (d *direction) counters(now counterSet) view {
|
||||
}
|
||||
}
|
||||
|
||||
// Errors seen while a measure is in flight are the diag's own link blip and
|
||||
// are re-based away at its completion; until then they are held off the
|
||||
// display rather than shown as the cable's.
|
||||
func measureView(diag *cableDiag, modules []*phyModule, v view) (view, phyDisplay) {
|
||||
info, measuring := diag.snapshot()
|
||||
phy := phyDisplayFrom(info, measuring, modules[0].view(), modules[1].view())
|
||||
if measuring {
|
||||
v.window, v.since = errs{}, errs{}
|
||||
phy.corrected, phy.recent = 0, 0
|
||||
}
|
||||
return v, phy
|
||||
}
|
||||
|
||||
func totalView(views []view) view {
|
||||
var t view
|
||||
for _, v := range views {
|
||||
@@ -769,9 +782,8 @@ func run(aName, bName string) (err error) {
|
||||
for i, d := range dirs {
|
||||
views[i] = d.displayView()
|
||||
}
|
||||
info, measuring := diag.snapshot()
|
||||
phy := phyDisplayFrom(info, measuring, modules[0].view(), modules[1].view())
|
||||
if err := disp.render(totalView(views), now.Sub(start), phy,
|
||||
v, phy := measureView(diag, modules, totalView(views))
|
||||
if err := disp.render(v, now.Sub(start), phy,
|
||||
noise.missing()); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -780,9 +792,8 @@ func run(aName, bName string) (err error) {
|
||||
for i, d := range dirs {
|
||||
rows[i] = d.displayView()
|
||||
}
|
||||
info, measuring := diag.snapshot()
|
||||
phy := phyDisplayFrom(info, measuring, modules[0].view(), modules[1].view())
|
||||
for _, line := range stats.emit(totalRow(elapsed, totalView(rows), target, phy,
|
||||
v, phy := measureView(diag, modules, totalView(rows))
|
||||
for _, line := range stats.emit(totalRow(elapsed, v, target, phy,
|
||||
noise.missing())) {
|
||||
fmt.Println(line)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user