From 03b7ff49540854a2a6ef49cf2df5dde67ab7127f Mon Sep 17 00:00:00 2001 From: flamingcow Date: Tue, 4 Aug 2026 12:26:10 -0700 Subject: [PATCH] Drop the write-only direction fields and the unused pattern names --- frame.go | 33 ++++++++++++++------------------- main.go | 6 ------ 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/frame.go b/frame.go index cf40079..c5ee585 100644 --- a/frame.go +++ b/frame.go @@ -17,19 +17,14 @@ const ( var crcTable = crc32.MakeTable(crc32.Castagnoli) -type pattern struct { - name string - fill func([]byte) -} - -var patterns = []pattern{ - {"zeros", func(b []byte) { clear(b) }}, - {"ones", func(b []byte) { +var patterns = []func([]byte){ + func(b []byte) { clear(b) }, + func(b []byte) { for i := range b { b[i] = 0xff } - }}, - {"alt", func(b []byte) { + }, + func(b []byte) { for i := range b { if i%2 == 0 { b[i] = 0x55 @@ -37,13 +32,13 @@ var patterns = []pattern{ b[i] = 0xaa } } - }}, - {"incr", func(b []byte) { + }, + func(b []byte) { for i := range b { b[i] = byte(i) } - }}, - {"prbs", func(b []byte) { + }, + func(b []byte) { s := uint64(0x0123456789abcdef) for i := range b { s ^= s << 13 @@ -51,13 +46,13 @@ var patterns = []pattern{ s ^= s << 17 b[i] = byte(s) } - }}, - {"random", func(b []byte) { + }, + func(b []byte) { r := rand.New(rand.NewPCG(0xc0ffee, 0x5eed)) for i := range b { b[i] = byte(r.Uint32()) } - }}, + }, } // Every pattern is laid out at full length up front with its checksum at each @@ -88,9 +83,9 @@ func newFrameSpec(dst, src [6]byte, etherType uint16, sizes []int) *frameSpec { maxSize: maxSize, maxPay: maxSize - minFrame, } - for _, p := range patterns { + for _, fill := range patterns { ref := make([]byte, f.maxPay) - p.fill(ref) + fill(ref) crcFor := make(map[int]uint32, len(sizes)) for _, s := range sizes { crcFor[s] = crc32.Checksum(ref[:s-minFrame], crcTable) diff --git a/main.go b/main.go index 5347e26..a91cf42 100644 --- a/main.go +++ b/main.go @@ -34,10 +34,7 @@ func (e endpoint) macString() string { } type direction struct { - label string short string - tx endpoint - rx endpoint specs []*frameSpec txStats []*txStats rxStats []*rxStats @@ -450,10 +447,7 @@ func (d *direction) primeCounters() { func buildDirection(label string, tx, rx endpoint, sizes []int, cfg config) (*direction, error) { d := &direction{ - label: label, short: tx.tag + "→" + rx.tag, - tx: tx, - rx: rx, streams: newLossWindows(cfg.streams), cable: newCableStats(), }