Skip to content

Commit 6f5cf5e

Browse files
committed
Use same multicast_server as ssl-go-tools
1 parent 87aee14 commit 6f5cf5e

File tree

9 files changed

+62
-197
lines changed

9 files changed

+62
-197
lines changed

cmd/ssl-vision-cli/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ var noGeometry = flag.Bool("noGeometry", false, "Print the geometry messages")
2222
func main() {
2323
flag.Parse()
2424

25-
receiver := vision.NewReceiver()
26-
receiver.Start(*visionAddress)
25+
receiver := vision.NewReceiver(*visionAddress)
26+
receiver.Start()
2727

2828
if *fullScreen {
2929
printFullscreen(receiver)

cmd/ssl-vision-client/main.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ func main() {
3636
}
3737

3838
func setupVisionClient() {
39-
visionReceiver := vision.NewReceiver()
40-
visualizationReceiver := visualization.NewReceiver()
41-
trackedReceiver := tracked.NewReceiver()
42-
refereeReceiver := referee.NewReceiver()
39+
visionReceiver := vision.NewReceiver(*visionAddress)
40+
visualizationReceiver := visualization.NewReceiver(*visualizationAddress)
41+
trackedReceiver := tracked.NewReceiver(*trackedAddress)
42+
refereeReceiver := referee.NewReceiver(*refereeAddress)
4343

4444
publisher := client.NewPublisher()
4545
publisher.DetectionProvider = visionReceiver.CombinedDetectionFrames
@@ -60,10 +60,10 @@ func setupVisionClient() {
6060
refereeReceiver.MulticastServer.SkipInterfaces = skipIfis
6161
refereeReceiver.MulticastServer.Verbose = *verbose
6262

63-
visionReceiver.Start(*visionAddress)
64-
visualizationReceiver.Start(*visualizationAddress)
65-
trackedReceiver.Start(*trackedAddress)
66-
refereeReceiver.Start(*refereeAddress)
63+
visionReceiver.Start()
64+
visualizationReceiver.Start()
65+
trackedReceiver.Start()
66+
refereeReceiver.Start()
6767
}
6868

6969
func geometryProvider(receiver *vision.Receiver) func() *vision.SSL_GeometryData {

go.mod

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ module github.com/RoboCup-SSL/ssl-vision-client
33
go 1.21
44

55
require (
6+
github.com/RoboCup-SSL/ssl-go-tools v1.8.1
67
github.com/gorilla/websocket v1.5.3
7-
google.golang.org/protobuf v1.36.2
8+
google.golang.org/protobuf v1.36.5
89
)
9-
10-
require golang.org/x/net v0.34.0 // indirect

go.sum

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
1-
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
1+
github.com/RoboCup-SSL/ssl-go-tools v1.8.0 h1:AbTH3mVZ6X0PiCIVcov8iO187/I4RzR8hnMeGbGpUN8=
2+
github.com/RoboCup-SSL/ssl-go-tools v1.8.0/go.mod h1:V3++xMi0FGEc2RAe01QyIn3HPplOQC81/3vSLY9I3e0=
3+
github.com/RoboCup-SSL/ssl-go-tools v1.8.1 h1:6EAIeJdgr2BO1lfQNrt1vNFFKiKScqjd1HrZsCZ07rg=
4+
github.com/RoboCup-SSL/ssl-go-tools v1.8.1/go.mod h1:FuTw472klW5wAMg09gxQqPCzu6ygxOdMA8D22fDOUfM=
25
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
36
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
4-
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
5-
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
6-
github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY=
7-
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
87
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
98
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
10-
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
11-
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
12-
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
13-
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
149
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
1510
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
16-
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
17-
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
18-
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
19-
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
20-
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
21-
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
22-
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
23-
google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU=
24-
google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
11+
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
12+
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=

pkg/referee/receiver.go

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

33
import (
4-
"github.com/RoboCup-SSL/ssl-vision-client/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

@@ -14,15 +15,18 @@ type Receiver struct {
1415
ConsumeRefereeMsg func(msg *Referee)
1516
}
1617

17-
func NewReceiver() (r *Receiver) {
18+
func NewReceiver(multicastAddress string) (r *Receiver) {
1819
r = new(Receiver)
19-
r.MulticastServer = sslnet.NewMulticastServer(r.consumeMessage)
20-
r.ConsumeRefereeMsg = func(referee *Referee) {}
20+
r.MulticastServer = sslnet.NewMulticastServer(multicastAddress)
21+
r.MulticastServer.Consumer = r.consumeMessage
22+
r.ConsumeRefereeMsg = func(referee *Referee) {
23+
// noop by default
24+
}
2125
return
2226
}
2327

24-
func (r *Receiver) Start(multicastAddress string) {
25-
r.MulticastServer.Start(multicastAddress)
28+
func (r *Receiver) Start() {
29+
r.MulticastServer.Start()
2630
}
2731

2832
func (r *Receiver) RefereeMsg() (msg *Referee) {
@@ -31,7 +35,7 @@ func (r *Receiver) RefereeMsg() (msg *Referee) {
3135
return r.lastRefereeMsg
3236
}
3337

34-
func (r *Receiver) consumeMessage(data []byte) {
38+
func (r *Receiver) consumeMessage(data []byte, _ *net.UDPAddr) {
3539
msg := new(Referee)
3640
if err := proto.Unmarshal(data, msg); err != nil {
3741
log.Print("Could not parse message: ", err)

pkg/sslnet/multicast_server.go

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

pkg/tracked/receiver.go

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

33
import (
4-
"github.com/RoboCup-SSL/ssl-vision-client/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
"time"
910
)
@@ -16,17 +17,20 @@ type Receiver struct {
1617
ConsumeDetections func(frame *TrackerWrapperPacket)
1718
}
1819

19-
func NewReceiver() (r *Receiver) {
20+
func NewReceiver(multicastAddress string) (r *Receiver) {
2021
r = new(Receiver)
2122
r.frames = map[string]*TrackerWrapperPacket{}
2223
r.receivedTimes = map[string]time.Time{}
23-
r.MulticastServer = sslnet.NewMulticastServer(r.consumeMessage)
24-
r.ConsumeDetections = func(*TrackerWrapperPacket) {}
24+
r.MulticastServer = sslnet.NewMulticastServer(multicastAddress)
25+
r.MulticastServer.Consumer = r.consumeMessage
26+
r.ConsumeDetections = func(*TrackerWrapperPacket) {
27+
// noop by default
28+
}
2529
return
2630
}
2731

28-
func (r *Receiver) Start(multicastAddress string) {
29-
r.MulticastServer.Start(multicastAddress)
32+
func (r *Receiver) Start() {
33+
r.MulticastServer.Start()
3034
}
3135

3236
func (r *Receiver) TrackedFrames() map[string]*TrackerWrapperPacket {
@@ -41,7 +45,7 @@ func (r *Receiver) TrackedFrames() map[string]*TrackerWrapperPacket {
4145
return frames
4246
}
4347

44-
func (r *Receiver) consumeMessage(data []byte) {
48+
func (r *Receiver) consumeMessage(data []byte, _ *net.UDPAddr) {
4549
message, err := parseVisionWrapperPacket(data)
4650
if err != nil {
4751
log.Print("Could not parse message: ", err)

pkg/vision/receiver.go

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

33
import (
4-
"github.com/RoboCup-SSL/ssl-vision-client/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
"time"
910
)
@@ -18,18 +19,23 @@ type Receiver struct {
1819
ConsumeGeometry func(frame *SSL_GeometryData)
1920
}
2021

21-
func NewReceiver() (r *Receiver) {
22+
func NewReceiver(multicastAddress string) (r *Receiver) {
2223
r = new(Receiver)
2324
r.detections = map[int]*SSL_DetectionFrame{}
2425
r.receivedTimes = map[int]time.Time{}
25-
r.MulticastServer = sslnet.NewMulticastServer(r.consumeMessage)
26-
r.ConsumeDetections = func(*SSL_DetectionFrame) {}
27-
r.ConsumeGeometry = func(*SSL_GeometryData) {}
26+
r.MulticastServer = sslnet.NewMulticastServer(multicastAddress)
27+
r.MulticastServer.Consumer = r.consumeMessage
28+
r.ConsumeDetections = func(*SSL_DetectionFrame) {
29+
// noop by default
30+
}
31+
r.ConsumeGeometry = func(*SSL_GeometryData) {
32+
// noop by default
33+
}
2834
return
2935
}
3036

31-
func (r *Receiver) Start(multicastAddress string) {
32-
r.MulticastServer.Start(multicastAddress)
37+
func (r *Receiver) Start() {
38+
r.MulticastServer.Start()
3339
}
3440

3541
func (r *Receiver) Detections() (result map[int]*SSL_DetectionFrame) {
@@ -42,7 +48,7 @@ func (r *Receiver) Detections() (result map[int]*SSL_DetectionFrame) {
4248
return
4349
}
4450

45-
func (r *Receiver) consumeMessage(data []byte) {
51+
func (r *Receiver) consumeMessage(data []byte, _ *net.UDPAddr) {
4652
message, err := parseVisionWrapperPacket(data)
4753
if err != nil {
4854
log.Print("Could not parse message: ", err)

0 commit comments

Comments
 (0)