Skip to content

Commit a318ab4

Browse files
committed
Remove autoRef metadata, which is now all done by GC
1 parent a376ff6 commit a318ab4

File tree

11 files changed

+100
-818
lines changed

11 files changed

+100
-818
lines changed

cmd/ssl-auto-ref-client/main.go

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ var clientIdentifier = flag.String("identifier", "test", "The identifier of the
2525

2626
var privateKey *rsa.PrivateKey
2727

28-
var metadata *rcon.GameStateMetadata
29-
3028
type Client struct {
3129
conn net.Conn
3230
token string
@@ -36,9 +34,6 @@ func main() {
3634
flag.Parse()
3735

3836
privateKey = client.LoadPrivateKey(*privateKeyLocation)
39-
metadata = new(rcon.GameStateMetadata)
40-
metadata.TeamYellow = new(rcon.GameStateMetadataTeam)
41-
metadata.TeamBlue = new(rcon.GameStateMetadataTeam)
4237

4338
if *autoDetectAddress {
4439
log.Print("Trying to detect host based on incoming referee messages...")
@@ -81,9 +76,6 @@ func main() {
8176
commands["doubleTouch"] = func(_ []string) {
8277
c.sendDoubleTouch()
8378
}
84-
commands["ready"] = func(args []string) {
85-
c.sendReady(args)
86-
}
8779

8880
reader := bufio.NewReader(os.Stdin)
8981
for {
@@ -231,24 +223,6 @@ func (c *Client) sendRequest(request *rcon.AutoRefToController, doLog bool) {
231223
}
232224
}
233225

234-
func (c *Client) sendReady(args []string) {
235-
if len(args) > 0 {
236-
metadata.ReadyToContinue = new(bool)
237-
if args[0] == "true" {
238-
*metadata.ReadyToContinue = true
239-
} else {
240-
*metadata.ReadyToContinue = false
241-
}
242-
} else {
243-
metadata.ReadyToContinue = nil
244-
}
245-
246-
request := rcon.AutoRefToController{
247-
GameStateMetadata: metadata,
248-
}
249-
c.sendRequest(&request, true)
250-
}
251-
252226
func logIf(doLog bool, v ...interface{}) {
253227
if doLog {
254228
log.Print(v...)

internal/app/engine/engine.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ func (e *Engine) CurrentState() (s *state.State) {
124124

125125
// CurrentGcState returns a deep copy of the current GC state
126126
func (e *Engine) CurrentGcState() (s *GcState) {
127+
e.gcStateMutex.Lock()
128+
defer e.gcStateMutex.Unlock()
127129
s = new(GcState)
128130
proto.Merge(s, e.gcState)
129131
return

internal/app/engine/process_botremoved.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ package engine
22

33
func (e *Engine) processBotRemoved() {
44
// TODO check that bot limit fulfilled within 10s after a yellow card
5+
// check bot number in general as well
56
}

internal/app/engine/ssl_gc_engine.pb.go

Lines changed: 39 additions & 147 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/app/engine/tracker.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ func (e *Engine) ProcessTrackerFrame(wrapperFrame *tracker.TrackerWrapperPacket)
1414
Ball: convertBalls(wrapperFrame.TrackedFrame.Balls),
1515
Robots: convertRobots(wrapperFrame.TrackedFrame.Robots),
1616
}
17-
e.gcState.TrackerState[*wrapperFrame.Uuid] = &state
1817

19-
// for now, all tracker sources update the GC state
20-
e.gcState.TrackerStateGc = &state
18+
e.UpdateGcState(func(gcState *GcState) {
19+
gcState.TrackerState[*wrapperFrame.Uuid] = &state
20+
21+
// for now, all tracker sources update the GC state
22+
e.gcState.TrackerStateGc = &state
23+
})
2124
}
2225

2326
func convertRobots(robots []*tracker.TrackedRobot) (rs []*Robot) {

internal/app/rcon/autoref.go

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package rcon
22

33
import (
44
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/engine"
5-
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/state"
65
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/statemachine"
76
"github.com/RoboCup-SSL/ssl-go-tools/pkg/sslconn"
87
"github.com/odeke-em/go-uuid"
@@ -131,9 +130,6 @@ func (s *AutoRefServer) handleClientConnection(conn net.Conn) {
131130
log.Printf("Client %v connected", client.id)
132131
s.gcEngine.UpdateGcState(func(gcState *engine.GcState) {
133132
s := new(engine.GcStateAutoRef)
134-
s.TeamState = map[string]*engine.GcStateAutoRefTeam{}
135-
s.TeamState[state.Team_YELLOW.String()] = new(engine.GcStateAutoRefTeam)
136-
s.TeamState[state.Team_BLUE.String()] = new(engine.GcStateAutoRefTeam)
137133
gcState.AutoRefState[client.id] = s
138134
})
139135

@@ -170,23 +166,6 @@ func (c *AutoRefClient) reply(reply ControllerReply) {
170166

171167
func (s *AutoRefServer) processRequest(id string, request AutoRefToController) error {
172168

173-
if request.GameStateMetadata != nil {
174-
s.gcEngine.UpdateGcState(func(gcState *engine.GcState) {
175-
s := gcState.AutoRefState[id]
176-
s.ReadyToContinue = request.GameStateMetadata.ReadyToContinue
177-
s.BallPlaced = request.GameStateMetadata.BallPlaced
178-
s.LastProgress = request.GameStateMetadata.LastProgress
179-
if request.GameStateMetadata.TeamBlue != nil {
180-
s.TeamState[state.Team_BLUE.String()].NumberOfRobots = request.GameStateMetadata.TeamBlue.NumberOfRobots
181-
s.TeamState[state.Team_BLUE.String()].MayChangeKeeper = request.GameStateMetadata.TeamBlue.MayChangeKeeper
182-
}
183-
if request.GameStateMetadata.TeamYellow != nil {
184-
s.TeamState[state.Team_YELLOW.String()].NumberOfRobots = request.GameStateMetadata.TeamYellow.NumberOfRobots
185-
s.TeamState[state.Team_YELLOW.String()].MayChangeKeeper = request.GameStateMetadata.TeamYellow.MayChangeKeeper
186-
}
187-
})
188-
}
189-
190169
if request.GameEvent != nil {
191170
s.gcEngine.Enqueue(&statemachine.Change{
192171
Origin: &id,

0 commit comments

Comments
 (0)