Skip to content

Commit bcc0e3e

Browse files
committed
Use multicast_server from ssl-go-tools
1 parent bde002d commit bcc0e3e

File tree

6 files changed

+33
-212
lines changed

6 files changed

+33
-212
lines changed

cmd/ssl-ref-client/main.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ import (
55
"flag"
66
"fmt"
77
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/state"
8-
"github.com/RoboCup-SSL/ssl-game-controller/pkg/sslnet"
8+
"github.com/RoboCup-SSL/ssl-go-tools/pkg/sslnet"
99
"google.golang.org/protobuf/encoding/prototext"
1010
"google.golang.org/protobuf/proto"
1111
"log"
1212
"math"
13+
"net"
1314
"os"
1415
"os/signal"
1516
"syscall"
@@ -24,17 +25,18 @@ var history []state.Referee_Command
2425
func main() {
2526
flag.Parse()
2627

27-
server := sslnet.NewMulticastServer(consume)
28+
server := sslnet.NewMulticastServer(*refereeAddress)
2829
server.Verbose = *verbose
29-
server.Start(*refereeAddress)
30+
server.Consumer = consume
31+
server.Start()
3032

3133
signals := make(chan os.Signal, 1)
3234
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
3335
<-signals
3436
server.Stop()
3537
}
3638

37-
func consume(b []byte) {
39+
func consume(b []byte, _ *net.UDPAddr) {
3840
refMsg := state.Referee{}
3941
if err := proto.Unmarshal(b, &refMsg); err != nil {
4042
log.Println("Could not unmarshal referee message")

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ module github.com/RoboCup-SSL/ssl-game-controller
33
go 1.21
44

55
require (
6+
github.com/RoboCup-SSL/ssl-go-tools v1.8.1
67
github.com/go-test/deep v1.1.1
78
github.com/google/uuid v1.6.0
89
github.com/gorilla/websocket v1.5.3
910
github.com/pkg/errors v0.9.1
1011
golang.org/x/net v0.34.0
11-
google.golang.org/protobuf v1.36.2
12+
google.golang.org/protobuf v1.36.4
1213
gopkg.in/yaml.v3 v3.0.1
1314
)
1415

go.sum

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,23 @@
1-
github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
2-
github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
1+
github.com/RoboCup-SSL/ssl-go-tools v1.8.1 h1:6EAIeJdgr2BO1lfQNrt1vNFFKiKScqjd1HrZsCZ07rg=
2+
github.com/RoboCup-SSL/ssl-go-tools v1.8.1/go.mod h1:FuTw472klW5wAMg09gxQqPCzu6ygxOdMA8D22fDOUfM=
33
github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U=
44
github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
55
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
66
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
7-
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
8-
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
97
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
108
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
11-
github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY=
12-
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
139
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
1410
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
1511
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
1612
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
17-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
18-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
19-
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
20-
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
2113
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
2214
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
23-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
24-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
25-
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
26-
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
2715
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
2816
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
2917
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
3018
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
31-
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
32-
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
33-
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
34-
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
35-
google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU=
36-
google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
19+
google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM=
20+
google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
3721
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
3822
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
3923
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

internal/app/tracker/trackerReceiver.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package tracker
22

33
import (
4-
"github.com/RoboCup-SSL/ssl-game-controller/pkg/sslnet"
4+
"github.com/RoboCup-SSL/ssl-go-tools/pkg/sslnet"
55
"google.golang.org/protobuf/proto"
66
"log"
7+
"net"
78
"sync"
89
)
910

1011
type Receiver struct {
11-
address string
1212
Callback func(*TrackerWrapperPacket)
1313
mutex sync.Mutex
1414
MulticastServer *sslnet.MulticastServer
@@ -17,23 +17,25 @@ type Receiver struct {
1717
// NewReceiver creates a new receiver
1818
func NewReceiver(address string) (v *Receiver) {
1919
v = new(Receiver)
20-
v.address = address
21-
v.Callback = func(*TrackerWrapperPacket) {}
22-
v.MulticastServer = sslnet.NewMulticastServer(v.consumeData)
20+
v.Callback = func(*TrackerWrapperPacket) {
21+
// noop by default
22+
}
23+
v.MulticastServer = sslnet.NewMulticastServer(address)
24+
v.MulticastServer.Consumer = v.consumeData
2325
return
2426
}
2527

2628
// Start starts the receiver
2729
func (v *Receiver) Start() {
28-
v.MulticastServer.Start(v.address)
30+
v.MulticastServer.Start()
2931
}
3032

3133
// Stop stops the receiver
3234
func (v *Receiver) Stop() {
3335
v.MulticastServer.Stop()
3436
}
3537

36-
func (v *Receiver) consumeData(data []byte) {
38+
func (v *Receiver) consumeData(data []byte, _ *net.UDPAddr) {
3739
v.mutex.Lock()
3840
defer v.mutex.Unlock()
3941

internal/app/vision/visionReceiver.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package vision
22

33
import (
4-
"github.com/RoboCup-SSL/ssl-game-controller/pkg/sslnet"
54
"github.com/RoboCup-SSL/ssl-game-controller/pkg/timer"
5+
"github.com/RoboCup-SSL/ssl-go-tools/pkg/sslnet"
66
"google.golang.org/protobuf/proto"
77
"log"
8+
"net"
89
"sync"
910
"time"
1011
)
@@ -22,23 +23,28 @@ type Receiver struct {
2223
func NewReceiver(address string) (v *Receiver) {
2324
v = new(Receiver)
2425
v.address = address
25-
v.DetectionCallback = func(*SSL_DetectionFrame) {}
26-
v.GeometryCallback = func(data *SSL_GeometryData) {}
27-
v.MulticastServer = sslnet.NewMulticastServer(v.consumeData)
26+
v.DetectionCallback = func(*SSL_DetectionFrame) {
27+
// noop by default
28+
}
29+
v.GeometryCallback = func(data *SSL_GeometryData) {
30+
// noop by default
31+
}
32+
v.MulticastServer = sslnet.NewMulticastServer(address)
33+
v.MulticastServer.Consumer = v.consumeData
2834
return
2935
}
3036

3137
// Start starts the receiver
3238
func (v *Receiver) Start() {
33-
v.MulticastServer.Start(v.address)
39+
v.MulticastServer.Start()
3440
}
3541

3642
// Stop stops the receiver
3743
func (v *Receiver) Stop() {
3844
v.MulticastServer.Stop()
3945
}
4046

41-
func (v *Receiver) consumeData(data []byte) {
47+
func (v *Receiver) consumeData(data []byte, _ *net.UDPAddr) {
4248
wrapper := SSL_WrapperPacket{}
4349
if err := proto.Unmarshal(data, &wrapper); err != nil {
4450
log.Println("Could not unmarshal vision wrapper packet", err)

pkg/sslnet/multicast_server.go

Lines changed: 0 additions & 174 deletions
This file was deleted.

0 commit comments

Comments
 (0)