Drop the write-only direction fields and the unused pattern names

This commit is contained in:
flamingcow
2026-08-04 12:26:10 -07:00
parent 21b20d0071
commit 03b7ff4954
2 changed files with 14 additions and 25 deletions
+14 -19
View File
@@ -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)