Skip to content

Commit 119977d

Browse files
committed
Add a source identifier to the referee messages
1 parent c8854fb commit 119977d

File tree

4 files changed

+186
-139
lines changed

4 files changed

+186
-139
lines changed

internal/app/publish/messagegenerator.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ package publish
33
import (
44
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/engine"
55
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/state"
6+
"github.com/google/uuid"
67
"google.golang.org/protobuf/types/known/durationpb"
8+
"log"
79
"time"
810
)
911

@@ -13,6 +15,7 @@ type MessageGenerator struct {
1315
commandTimestamp uint64
1416
quit chan int
1517
gcEngine *engine.Engine
18+
sourceIdentifier string
1619
MessageConsumers []func(*state.Referee)
1720
EngineHook chan engine.HookOut
1821
}
@@ -25,6 +28,9 @@ func NewMessageGenerator() (m *MessageGenerator) {
2528
m.goal[state.Team_BLUE] = false
2629
m.goal[state.Team_YELLOW] = false
2730
m.quit = make(chan int, 1)
31+
m.sourceIdentifier = uuid.NewString()
32+
33+
log.Println("Publishing referee messages as ", m.sourceIdentifier)
2834

2935
return
3036
}
@@ -95,6 +101,7 @@ func (g *MessageGenerator) updateCommand() {
95101

96102
func (g *MessageGenerator) StateToRefereeMessage(matchState *state.State) (r *state.Referee) {
97103
r = newRefereeMessage()
104+
*r.SourceIdentifier = g.sourceIdentifier
98105
r.DesignatedPosition = mapLocation(matchState.PlacementPos)
99106
r.GameEvents = matchState.GameEvents
100107
r.GameEventProposals = mapProposals(matchState.ProposalGroups)
@@ -134,6 +141,7 @@ func updateTeam(teamInfo *state.Referee_TeamInfo, teamState *state.TeamInfo) {
134141

135142
func newRefereeMessage() (m *state.Referee) {
136143
m = new(state.Referee)
144+
m.SourceIdentifier = new(string)
137145
m.PacketTimestamp = new(uint64)
138146
m.Stage = new(state.Referee_Stage)
139147
m.StageTimeLeft = new(int32)

0 commit comments

Comments
 (0)