Skip to content

Commit bdc03d0

Browse files
committed
Update to new protobuf version with different imports and changed API
1 parent a9ca468 commit bdc03d0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+240
-267
lines changed

cmd/ssl-ci-test-client/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/geom"
99
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/sslconn"
1010
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/tracker"
11-
"github.com/odeke-em/go-uuid"
11+
"github.com/google/uuid"
1212
"log"
1313
"net"
1414
"os"
@@ -19,7 +19,7 @@ import (
1919

2020
var address = flag.String("address", "localhost:10009", "The address of the ssl-game-controller CI interface")
2121

22-
var id = uuid.New()
22+
var id = uuid.NewString()
2323
var name = "Test client"
2424
var trackerPacket = createTrackerPacket()
2525

cmd/ssl-ref-client/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import (
66
"fmt"
77
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/state"
88
"github.com/RoboCup-SSL/ssl-game-controller/pkg/sslnet"
9-
"github.com/golang/protobuf/proto"
9+
"google.golang.org/protobuf/encoding/prototext"
10+
"google.golang.org/protobuf/proto"
1011
"log"
1112
"math"
1213
"os"
@@ -58,7 +59,7 @@ func consume(b []byte) {
5859
fmt.Println()
5960

6061
// print message formatted with line breaks
61-
fmt.Print(proto.MarshalTextString(&refMsg))
62+
fmt.Print(prototext.MarshalOptions{Multiline: true}.Format(&refMsg))
6263
} else {
6364
b, err := json.Marshal(&refMsg)
6465
if err != nil {

cmd/ssl-remote-control-client/main.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/sslconn"
1010
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/state"
1111
"github.com/RoboCup-SSL/ssl-game-controller/pkg/client"
12-
"github.com/golang/protobuf/proto"
1312
"log"
1413
"net"
1514
"os"
@@ -194,7 +193,7 @@ func (c *Client) sendRequest(request *rcon.RemoteControlToController) (accepted
194193
request.Signature.Pkcs1V15 = client.Sign(privateKey, request)
195194
}
196195

197-
log.Print("Sending ", proto.MarshalTextString(request))
196+
log.Print("Sending ", request.String())
198197

199198
if err := sslconn.SendMessage(c.conn, request); err != nil {
200199
log.Fatalf("Failed sending request: %v (%v)", request, err)
@@ -205,7 +204,7 @@ func (c *Client) sendRequest(request *rcon.RemoteControlToController) (accepted
205204
if err := sslconn.ReceiveMessage(c.reader, &reply); err != nil {
206205
log.Fatal("Failed receiving controller reply: ", err)
207206
}
208-
log.Print("Received reply: ", proto.MarshalTextString(&reply))
207+
log.Print("Received reply: ", reply.String())
209208
if reply.GetControllerReply().StatusCode == nil || *reply.GetControllerReply().StatusCode != rcon.ControllerReply_OK {
210209
log.Print("Message rejected: ", *reply.GetControllerReply().Reason)
211210
accepted = false

cmd/ssl-team-client/main.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/rcon"
88
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/sslconn"
99
"github.com/RoboCup-SSL/ssl-game-controller/pkg/client"
10-
"github.com/golang/protobuf/proto"
1110
"log"
1211
"net"
1312
"time"
@@ -116,7 +115,7 @@ func (c *Client) sendRequest(request *rcon.TeamToController) (accepted bool) {
116115
request.Signature.Pkcs1V15 = client.Sign(privateKey, request)
117116
}
118117

119-
log.Print("Sending ", proto.MarshalTextString(request))
118+
log.Print("Sending ", request.String())
120119

121120
if err := sslconn.SendMessage(c.conn, request); err != nil {
122121
log.Fatalf("Failed sending request: %v (%v)", request, err)
@@ -127,7 +126,7 @@ func (c *Client) sendRequest(request *rcon.TeamToController) (accepted bool) {
127126
if err := sslconn.ReceiveMessage(c.reader, &reply); err != nil {
128127
log.Fatal("Failed receiving controller reply: ", err)
129128
}
130-
log.Print("Received reply: ", proto.MarshalTextString(&reply))
129+
log.Print("Received reply: ", reply.String())
131130
if reply.GetControllerReply().StatusCode == nil || *reply.GetControllerReply().StatusCode != rcon.ControllerReply_OK {
132131
log.Print("Message rejected: ", *reply.GetControllerReply().Reason)
133132
accepted = false

cmd/ssl-tracker-consumer-test-client/main.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import (
44
"flag"
55
"fmt"
66
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/tracker"
7-
"github.com/golang/protobuf/proto"
7+
"google.golang.org/protobuf/encoding/prototext"
8+
"google.golang.org/protobuf/proto"
89
"log"
910
"net"
1011
"sort"
@@ -64,10 +65,10 @@ func main() {
6465

6566
// print message formatted with line breaks
6667
for _, source := range sources {
67-
fmt.Print(proto.MarshalTextString(sourcePackets[source]))
68+
fmt.Print(prototext.MarshalOptions{Multiline: true}.Format(sourcePackets[source]))
6869
}
6970
} else {
70-
log.Print(proto.CompactTextString(&packet))
71+
log.Print(prototext.MarshalOptions{Multiline: false}.Format(&packet))
7172
}
7273
}
7374
}

cmd/ssl-tracker-producer-test-client/main.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"fmt"
77
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/geom"
88
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/tracker"
9-
"github.com/golang/protobuf/proto"
10-
"github.com/odeke-em/go-uuid"
9+
"github.com/google/uuid"
10+
"google.golang.org/protobuf/proto"
1111
"log"
1212
"net"
1313
"os"
@@ -37,7 +37,7 @@ func main() {
3737
log.Printf("Could not set read buffer to %v.", maxDatagramSize)
3838
}
3939

40-
frame := tracker.TrackedFrame{
40+
frame := &tracker.TrackedFrame{
4141
FrameNumber: new(uint32),
4242
Timestamp: new(float64),
4343
Balls: []*tracker.TrackedBall{
@@ -67,7 +67,7 @@ func main() {
6767
*frame.Balls[0].Pos.X = float32(x)
6868
*frame.Balls[0].Pos.Y = float32(y)
6969
*frame.Balls[0].Pos.Z = float32(z)
70-
log.Printf("Ball changed: %v", *frame.Balls[0])
70+
log.Printf("Ball changed: %v", frame.Balls[0])
7171
}
7272
}
7373

@@ -97,18 +97,18 @@ func main() {
9797
}
9898
}
9999

100-
func publish(frame tracker.TrackedFrame, conn *net.UDPConn) {
101-
id := uuid.New()
102-
wrapperPacket := tracker.TrackerWrapperPacket{
100+
func publish(frame *tracker.TrackedFrame, conn *net.UDPConn) {
101+
id := uuid.NewString()
102+
wrapperPacket := &tracker.TrackerWrapperPacket{
103103
Uuid: &id,
104104
SourceName: sourceName,
105-
TrackedFrame: &frame,
105+
TrackedFrame: frame,
106106
}
107107

108108
log.Println("Sending to ", *trackerAddress)
109109
for {
110110
*frame.Timestamp = float64(time.Now().UnixNano()) / 1e9
111-
if bytes, err := proto.Marshal(&wrapperPacket); err != nil {
111+
if bytes, err := proto.Marshal(wrapperPacket); err != nil {
112112
log.Printf("Could not marshal packet: %v\nError: %v", wrapperPacket, err)
113113
return
114114
} else {

generateProto.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ set -e
55
# Print commands
66
set -x
77

8+
# install latest protoc-gen-go
9+
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
10+
811
# common GC
912
protoc -I"./proto" -I"$GOPATH/src" --go_out="$GOPATH/src" proto/ssl_gc_common.proto
1013
protoc -I"./proto" -I"$GOPATH/src" --go_out="$GOPATH/src" proto/ssl_gc_geometry.proto

go.mod

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
module github.com/RoboCup-SSL/ssl-game-controller
22

3-
go 1.14
3+
go 1.16
44

55
require (
6-
github.com/go-test/deep v1.0.5
6+
github.com/go-test/deep v1.0.8
77
github.com/gobuffalo/packr v1.30.1
8-
github.com/golang/protobuf v1.5.0
9-
github.com/gorilla/websocket v1.4.1
10-
github.com/odeke-em/go-uuid v0.0.0-20151221120446-b211d769a9aa
8+
github.com/google/uuid v1.3.0
9+
github.com/gorilla/websocket v1.4.2
1110
github.com/pkg/errors v0.9.1
12-
google.golang.org/protobuf v1.26.0
13-
gopkg.in/yaml.v2 v2.2.8
11+
google.golang.org/protobuf v1.27.1
12+
gopkg.in/yaml.v2 v2.4.0
1413
)

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
88
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
99
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1010
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
11-
github.com/go-test/deep v1.0.5 h1:AKODKU3pDH1RzZzm6YZu77YWtEAq6uh1rLIAQlay2qc=
12-
github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
11+
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
12+
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
1313
github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU=
1414
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
1515
github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs=
@@ -22,8 +22,10 @@ github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4
2222
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
2323
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
2424
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
25-
github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
26-
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
25+
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
26+
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
27+
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
28+
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
2729
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
2830
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
2931
github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
@@ -39,8 +41,6 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
3941
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
4042
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
4143
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
42-
github.com/odeke-em/go-uuid v0.0.0-20151221120446-b211d769a9aa h1:XEhClAZN5U0GUTFRgRdPNgAKO4mP++S+zbqXH+Pr9nU=
43-
github.com/odeke-em/go-uuid v0.0.0-20151221120446-b211d769a9aa/go.mod h1:omlfAqAAOXYL53jxw8wG+G2xH7NqbkJPlDeGP9YpP6g=
4444
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
4545
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
4646
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -80,12 +80,12 @@ golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgw
8080
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
8181
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
8282
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
83-
google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
84-
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
83+
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
84+
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
8585
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
8686
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
8787
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
8888
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
8989
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
90-
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
91-
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
90+
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
91+
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=

internal/app/api/server.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package api
22

33
import (
4-
"bytes"
54
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/engine"
65
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/state"
76
"github.com/RoboCup-SSL/ssl-game-controller/internal/app/statemachine"
8-
"github.com/golang/protobuf/jsonpb"
9-
"github.com/golang/protobuf/proto"
10-
"github.com/golang/protobuf/ptypes"
7+
"github.com/google/uuid"
118
"github.com/gorilla/websocket"
12-
"github.com/odeke-em/go-uuid"
9+
"google.golang.org/protobuf/encoding/protojson"
10+
"google.golang.org/protobuf/proto"
11+
"google.golang.org/protobuf/types/known/durationpb"
1312
"log"
1413
"net/http"
1514
"reflect"
@@ -29,7 +28,7 @@ type ServerConnection struct {
2928
lastGcState *engine.GcState
3029
lastProtocolId int32
3130
lastConfig *engine.Config
32-
marshaler jsonpb.Marshaler
31+
marshaler protojson.MarshalOptions
3332
}
3433

3534
func NewServer(gcEngine *engine.Engine) (s *Server) {
@@ -45,7 +44,7 @@ func NewServerConnection(gcEngine *engine.Engine, conn *websocket.Conn) (s *Serv
4544
s.conn = conn
4645
s.gcEngine = gcEngine
4746
s.lastProtocolId = -1
48-
s.marshaler.EmitDefaults = true
47+
s.marshaler.EmitUnpopulated = true
4948
return
5049
}
5150

@@ -73,7 +72,7 @@ func (a *Server) WsHandler(w http.ResponseWriter, r *http.Request) {
7372

7473
func (s *ServerConnection) publish() {
7574
hook := make(chan engine.HookOut, 10)
76-
hookId := "apiServer-" + uuid.New()
75+
hookId := "apiServer-" + uuid.NewString()
7776
s.gcEngine.RegisterHook(hookId, hook)
7877
defer func() {
7978
s.gcEngine.UnregisterHook(hookId)
@@ -175,28 +174,28 @@ func (s *ServerConnection) changesToProtocolEntries(changes []*statemachine.Stat
175174
for i, change := range changes {
176175
var matchTimeElapsed time.Duration
177176
if change.State.MatchTimeStart.Seconds != 0 {
178-
tChange, _ := ptypes.Timestamp(change.Timestamp)
179-
tStart, _ := ptypes.Timestamp(change.State.MatchTimeStart)
177+
tChange := change.Timestamp.AsTime()
178+
tStart := change.State.MatchTimeStart.AsTime()
180179
matchTimeElapsed = tChange.Sub(tStart)
181180
}
182181

183182
entries[len(changes)-1-i] = &ProtocolEntry{
184183
Id: change.Id,
185184
Change: change.Change,
186-
MatchTimeElapsed: ptypes.DurationProto(matchTimeElapsed),
185+
MatchTimeElapsed: durationpb.New(matchTimeElapsed),
187186
StageTimeElapsed: change.State.StageTimeElapsed,
188187
}
189188
}
190189
return entries
191190
}
192191

193192
func (s *ServerConnection) publishOutput(wrapper *Output) {
194-
b, err := s.marshaler.MarshalToString(wrapper)
193+
b, err := s.marshaler.Marshal(wrapper)
195194
if err != nil {
196195
log.Println("Marshal error:", err)
197196
}
198197

199-
err = s.conn.WriteMessage(websocket.TextMessage, []byte(b))
198+
err = s.conn.WriteMessage(websocket.TextMessage, b)
200199
if err != nil {
201200
log.Println("Could not write message to api client:", err)
202201
}
@@ -231,7 +230,7 @@ func (a *Server) listenForNewEvents(conn *websocket.Conn) {
231230

232231
func (a *Server) handleNewEventMessage(b []byte) {
233232
in := Input{}
234-
err := jsonpb.Unmarshal(bytes.NewReader(b), &in)
233+
err := protojson.Unmarshal(b, &in)
235234
if err != nil {
236235
log.Println("Could not read input:", string(b), err)
237236
return

0 commit comments

Comments
 (0)