Apply go fix modernizations
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -28,7 +29,6 @@ func (h *artnetHandler) HandlePollReply(src *net.UDPAddr, pkt *artnet.PollReplyP
|
|||||||
h.discovery.HandlePollReply(src, pkt)
|
h.discovery.HandlePollReply(src, pkt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (t *Tendrils) startArtNet(ctx context.Context, iface net.Interface) {
|
func (t *Tendrils) startArtNet(ctx context.Context, iface net.Interface) {
|
||||||
srcIP, broadcast := getInterfaceIPv4(iface)
|
srcIP, broadcast := getInterfaceIPv4(iface)
|
||||||
if srcIP == nil || broadcast == nil {
|
if srcIP == nil || broadcast == nil {
|
||||||
@@ -124,7 +124,6 @@ func (n *Nodes) UpdateArtNet(node *Node, inputs, outputs []int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (n *Nodes) expireArtNet() {
|
func (n *Nodes) expireArtNet() {
|
||||||
for _, node := range n.nodes {
|
for _, node := range n.nodes {
|
||||||
if node.ArtNetInputs != nil {
|
if node.ArtNetInputs != nil {
|
||||||
@@ -197,7 +196,7 @@ func (n *Nodes) logArtNet() {
|
|||||||
seen[u] = true
|
seen[u] = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sort.Slice(allUniverses, func(i, j int) bool { return allUniverses[i] < allUniverses[j] })
|
slices.Sort(allUniverses)
|
||||||
|
|
||||||
log.Printf("[sigusr1] ================ %d artnet universes ================", len(allUniverses))
|
log.Printf("[sigusr1] ================ %d artnet universes ================", len(allUniverses))
|
||||||
for _, u := range allUniverses {
|
for _, u := range allUniverses {
|
||||||
|
|||||||
12
bmd.go
12
bmd.go
@@ -211,9 +211,9 @@ func (t *Tendrils) probeHyperDeck(ip net.IP) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
response := string(buf[:n])
|
response := string(buf[:n])
|
||||||
for _, line := range strings.Split(response, "\r\n") {
|
for line := range strings.SplitSeq(response, "\r\n") {
|
||||||
if strings.HasPrefix(line, "model: ") {
|
if after, ok := strings.CutPrefix(line, "model: "); ok {
|
||||||
model := strings.TrimPrefix(line, "model: ")
|
model := after
|
||||||
if t.DebugBMD {
|
if t.DebugBMD {
|
||||||
log.Printf("[bmd] hyperdeck %s at %s", model, ip)
|
log.Printf("[bmd] hyperdeck %s at %s", model, ip)
|
||||||
}
|
}
|
||||||
@@ -238,9 +238,9 @@ func (t *Tendrils) probeVideoHub(ip net.IP) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
response := string(buf[:n])
|
response := string(buf[:n])
|
||||||
for _, line := range strings.Split(response, "\n") {
|
for line := range strings.SplitSeq(response, "\n") {
|
||||||
if strings.HasPrefix(line, "Model name: ") {
|
if after, ok := strings.CutPrefix(line, "Model name: "); ok {
|
||||||
model := strings.TrimSpace(strings.TrimPrefix(line, "Model name: "))
|
model := strings.TrimSpace(after)
|
||||||
if t.DebugBMD {
|
if t.DebugBMD {
|
||||||
log.Printf("[bmd] videohub %s at %s", model, ip)
|
log.Printf("[bmd] videohub %s at %s", model, ip)
|
||||||
}
|
}
|
||||||
|
|||||||
10
dante.go
10
dante.go
@@ -527,7 +527,7 @@ func (t *Tendrils) queryDanteTxChannels(conn *net.UDPConn, ip net.IP, txCount in
|
|||||||
}
|
}
|
||||||
|
|
||||||
pagesNeeded := (txCount + 15) / 16
|
pagesNeeded := (txCount + 15) / 16
|
||||||
for page := 0; page < pagesNeeded; page++ {
|
for page := range pagesNeeded {
|
||||||
pageNum := byte(page + 1)
|
pageNum := byte(page + 1)
|
||||||
args := []byte{0x00, 0x01, 0x00, pageNum, 0x00, 0x00}
|
args := []byte{0x00, 0x01, 0x00, pageNum, 0x00, 0x00}
|
||||||
|
|
||||||
@@ -551,7 +551,7 @@ func (t *Tendrils) queryDanteSubscriptions(conn *net.UDPConn, ip net.IP, rxCount
|
|||||||
hasMulticast := false
|
hasMulticast := false
|
||||||
|
|
||||||
pagesNeeded := (rxCount + 15) / 16
|
pagesNeeded := (rxCount + 15) / 16
|
||||||
for page := 0; page < pagesNeeded; page++ {
|
for page := range pagesNeeded {
|
||||||
pageNum := byte(page + 1)
|
pageNum := byte(page + 1)
|
||||||
args := []byte{0x00, 0x01, 0x00, pageNum, 0x00, 0x00}
|
args := []byte{0x00, 0x01, 0x00, pageNum, 0x00, 0x00}
|
||||||
|
|
||||||
@@ -582,7 +582,7 @@ func (t *Tendrils) queryDanteSubscriptions(conn *net.UDPConn, ip net.IP, rxCount
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
recordOffset := 12
|
recordOffset := 12
|
||||||
for idx := 0; idx < subCount; idx++ {
|
for idx := range subCount {
|
||||||
if recordOffset+20 > len(resp) {
|
if recordOffset+20 > len(resp) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -612,7 +612,7 @@ func (t *Tendrils) queryDanteSubscriptions(conn *net.UDPConn, ip net.IP, rxCount
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
recordOffset := 14
|
recordOffset := 14
|
||||||
for idx := 0; idx < subCount; idx++ {
|
for idx := range subCount {
|
||||||
if recordOffset+10 > len(resp) {
|
if recordOffset+10 > len(resp) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -663,7 +663,7 @@ func (t *Tendrils) queryDanteSubscriptions3400(conn *net.UDPConn, ip net.IP, rxC
|
|||||||
|
|
||||||
pagesNeeded := (rxCount + 15) / 16
|
pagesNeeded := (rxCount + 15) / 16
|
||||||
startChannel := 1
|
startChannel := 1
|
||||||
for page := 0; page < pagesNeeded; page++ {
|
for page := range pagesNeeded {
|
||||||
pageNum := page + 1
|
pageNum := page + 1
|
||||||
args := make([]byte, 24)
|
args := make([]byte, 24)
|
||||||
args[7] = 0x01
|
args[7] = 0x01
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ type Error struct {
|
|||||||
Utilization float64 `json:"utilization,omitempty"`
|
Utilization float64 `json:"utilization,omitempty"`
|
||||||
FirstSeen time.Time `json:"first_seen"`
|
FirstSeen time.Time `json:"first_seen"`
|
||||||
LastSeen time.Time `json:"last_seen"`
|
LastSeen time.Time `json:"last_seen"`
|
||||||
LastUpdated time.Time `json:"last_updated,omitempty"`
|
LastUpdated time.Time `json:"last_updated,omitzero"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ErrorTracker struct {
|
type ErrorTracker struct {
|
||||||
|
|||||||
6
mdns.go
6
mdns.go
@@ -46,8 +46,8 @@ func extractNetaudioChanDevice(s string) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
name := strings.ReplaceAll(s[:idx], "\\", "")
|
name := strings.ReplaceAll(s[:idx], "\\", "")
|
||||||
if atIdx := strings.Index(name, "@"); atIdx >= 0 {
|
if _, after, ok := strings.Cut(name, "@"); ok {
|
||||||
return name[atIdx+1:]
|
return after
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
@@ -235,7 +235,7 @@ func (t *Tendrils) sendMDNSQueries(ifaceName string, conn *net.UDPConn) {
|
|||||||
dest := &net.UDPAddr{IP: net.IPv4(224, 0, 0, 251), Port: 5353}
|
dest := &net.UDPAddr{IP: net.IPv4(224, 0, 0, 251), Port: 5353}
|
||||||
|
|
||||||
n := len(mdnsServices)
|
n := len(mdnsServices)
|
||||||
for i := 0; i < n; i++ {
|
for i := range n {
|
||||||
service := mdnsServices[(i+mdnsQueryOffset)%n]
|
service := mdnsServices[(i+mdnsQueryOffset)%n]
|
||||||
msg := new(dns.Msg)
|
msg := new(dns.Msg)
|
||||||
msg.SetQuestion(service, dns.TypePTR)
|
msg.SetQuestion(service, dns.TypePTR)
|
||||||
|
|||||||
8
nodes.go
8
nodes.go
@@ -5,6 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
@@ -133,12 +134,7 @@ func (n *Nodes) isSharedName(name string) bool {
|
|||||||
if n.t.config == nil {
|
if n.t.config == nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
for _, shared := range n.t.config.SharedNames {
|
return slices.Contains(n.t.config.SharedNames, name)
|
||||||
if shared == name {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *Nodes) createNode() *Node {
|
func (n *Nodes) createNode() *Node {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ func (t *Tendrils) startSACNDiscoveryListener(ctx context.Context, iface net.Int
|
|||||||
}
|
}
|
||||||
defer receiver.Stop()
|
defer receiver.Stop()
|
||||||
|
|
||||||
receiver.SetHandler(func(src *net.UDPAddr, pkt interface{}) {
|
receiver.SetHandler(func(src *net.UDPAddr, pkt any) {
|
||||||
if disc, ok := pkt.(*sacn.DiscoveryPacket); ok {
|
if disc, ok := pkt.(*sacn.DiscoveryPacket); ok {
|
||||||
t.handleSACNDiscoveryPacket(src.IP, disc)
|
t.handleSACNDiscoveryPacket(src.IP, disc)
|
||||||
}
|
}
|
||||||
|
|||||||
2
snmp.go
2
snmp.go
@@ -52,7 +52,7 @@ func defaultSNMPConfig() *snmpConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func snmpToInt(val interface{}) (int, bool) {
|
func snmpToInt(val any) (int, bool) {
|
||||||
switch v := val.(type) {
|
switch v := val.(type) {
|
||||||
case int:
|
case int:
|
||||||
return v, true
|
return v, true
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ func getInterfaceIPv4(iface net.Interface) (srcIP, broadcast net.IP) {
|
|||||||
srcIP = ipnet.IP.To4()
|
srcIP = ipnet.IP.To4()
|
||||||
mask := ipnet.Mask
|
mask := ipnet.Mask
|
||||||
broadcast = make(net.IP, 4)
|
broadcast = make(net.IP, 4)
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
broadcast[i] = srcIP[i] | ^mask[i]
|
broadcast[i] = srcIP[i] | ^mask[i]
|
||||||
}
|
}
|
||||||
return srcIP, broadcast
|
return srcIP, broadcast
|
||||||
|
|||||||
14
types.go
14
types.go
@@ -6,6 +6,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"math"
|
"math"
|
||||||
"net"
|
"net"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -57,7 +58,7 @@ func (s ArtNetUniverseSet) Universes() []ArtNetUniverse {
|
|||||||
for u := range s {
|
for u := range s {
|
||||||
result = append(result, u)
|
result = append(result, u)
|
||||||
}
|
}
|
||||||
sort.Slice(result, func(i, j int) bool { return result[i] < result[j] })
|
slices.Sort(result)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +92,7 @@ func (s SACNUniverseSet) Universes() []SACNUniverse {
|
|||||||
for u := range s {
|
for u := range s {
|
||||||
result = append(result, u)
|
result = append(result, u)
|
||||||
}
|
}
|
||||||
sort.Slice(result, func(i, j int) bool { return result[i] < result[j] })
|
slices.Sort(result)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,7 +269,7 @@ func (s MulticastMembershipSet) SACNInputs() []SACNUniverse {
|
|||||||
result = append(result, g.SACNUniverse)
|
result = append(result, g.SACNUniverse)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sort.Slice(result, func(i, j int) bool { return result[i] < result[j] })
|
slices.Sort(result)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -703,11 +704,12 @@ func (i *Interface) String() string {
|
|||||||
parts = append(parts, i.Stats.String())
|
parts = append(parts, i.Stats.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
result := parts[0]
|
var result strings.Builder
|
||||||
|
result.WriteString(parts[0])
|
||||||
for _, p := range parts[1:] {
|
for _, p := range parts[1:] {
|
||||||
result += " " + p
|
result.WriteString(" " + p)
|
||||||
}
|
}
|
||||||
return result
|
return result.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *InterfaceStats) String() string {
|
func (s *InterfaceStats) String() string {
|
||||||
|
|||||||
Reference in New Issue
Block a user