Apply go fix modernizations

This commit is contained in:
Ian Gulliver
2026-03-05 11:39:14 -08:00
parent 9c2787a200
commit 8f83c1c8e9
4 changed files with 13 additions and 28 deletions

View File

@@ -60,10 +60,7 @@ func FuzzBuildParseRoundtrip(f *testing.F) {
if dataPkt.Universe != universe {
t.Fatalf("universe mismatch: sent %d, got %d", universe, dataPkt.Universe)
}
expectedLen := len(dmxInput)
if expectedLen > 512 {
expectedLen = 512
}
expectedLen := min(len(dmxInput), 512)
if !bytes.Equal(dataPkt.Data[:expectedLen], dmxInput[:expectedLen]) {
t.Fatalf("dmx data mismatch")
}

View File

@@ -58,7 +58,7 @@ func MulticastAddr(universe uint16) *net.UDPAddr {
}
}
func ParsePacket(data []byte) (interface{}, error) {
func ParsePacket(data []byte) (any, error) {
if len(data) < 22 {
return nil, ErrPacketTooShort
}
@@ -99,10 +99,7 @@ func parseDataPacket(data []byte) (*DataPacket, error) {
return nil, ErrPacketTooShort
}
dmxLen := int(propCount) - 1
if dmxLen > 512 {
dmxLen = 512
}
dmxLen := min(int(propCount)-1, 512)
if len(data) < 126+dmxLen {
return nil, ErrPacketTooShort
@@ -121,7 +118,7 @@ func parseDataPacket(data []byte) (*DataPacket, error) {
return pkt, nil
}
func parseExtendedPacket(data []byte) (interface{}, error) {
func parseExtendedPacket(data []byte) (any, error) {
if len(data) < 118 {
return nil, ErrPacketTooShort
}
@@ -149,7 +146,7 @@ func parseExtendedPacket(data []byte) (interface{}, error) {
universeCount := (len(data) - 120) / 2
pkt.Universes = make([]uint16, 0, universeCount)
for i := 0; i < universeCount; i++ {
for i := range universeCount {
u := binary.BigEndian.Uint16(data[120+i*2 : 122+i*2])
if u >= 1 && u <= 63999 {
pkt.Universes = append(pkt.Universes, u)
@@ -160,10 +157,7 @@ func parseExtendedPacket(data []byte) (interface{}, error) {
}
func BuildDataPacket(universe uint16, sequence uint8, sourceName string, cid [16]byte, data []byte) []byte {
dataLen := len(data)
if dataLen > 512 {
dataLen = 512
}
dataLen := min(len(data), 512)
pktLen := 126 + dataLen
buf := make([]byte, pktLen)
@@ -200,10 +194,7 @@ func BuildDataPacket(universe uint16, sequence uint8, sourceName string, cid [16
}
func BuildDiscoveryPacket(sourceName string, cid [16]byte, page, lastPage uint8, universes []uint16) []byte {
universeCount := len(universes)
if universeCount > 512 {
universeCount = 512
}
universeCount := min(len(universes), 512)
pktLen := 120 + universeCount*2
buf := make([]byte, pktLen)

View File

@@ -9,7 +9,7 @@ import (
type Receiver struct {
conn *multicast.Conn
handler func(src *net.UDPAddr, pkt interface{})
handler func(src *net.UDPAddr, pkt any)
done chan struct{}
}
@@ -60,7 +60,7 @@ func NewDiscoveryReceiver(iface *net.Interface) (*Receiver, error) {
}, nil
}
func (r *Receiver) SetHandler(fn func(src *net.UDPAddr, pkt interface{})) {
func (r *Receiver) SetHandler(fn func(src *net.UDPAddr, pkt any)) {
r.handler = fn
}

View File

@@ -3,7 +3,7 @@ package sacn
import (
"crypto/rand"
"net"
"sort"
"slices"
"sync"
"time"
@@ -128,17 +128,14 @@ func (s *Sender) sendDiscovery() {
return
}
sort.Slice(universes, func(i, j int) bool { return universes[i] < universes[j] })
slices.Sort(universes)
const maxPerPage = 512
totalPages := (len(universes) + maxPerPage - 1) / maxPerPage
for page := 0; page < totalPages; page++ {
for page := range totalPages {
start := page * maxPerPage
end := start + maxPerPage
if end > len(universes) {
end = len(universes)
}
end := min(start+maxPerPage, len(universes))
pkt := BuildDiscoveryPacket(s.sourceName, s.cid, uint8(page), uint8(totalPages-1), universes[start:end])
s.conn.WriteToUDP(pkt, DiscoveryAddr)
}