Skip to content

Commit f488e38

Browse files
committed
Send geometry only when changed
1 parent 72677ed commit f488e38

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

internal/vision/handler.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package vision
33
import (
44
"github.com/RoboCup-SSL/ssl-vision-client/internal/common"
55
"github.com/gorilla/websocket"
6+
"google.golang.org/protobuf/proto"
67
"log"
78
"net/http"
89
"time"
@@ -35,11 +36,15 @@ func HandleVisionGeometry(GeometryProvider func() *SSL_GeometryData) http.Handle
3536
log.Println("Client for vision geometry connected")
3637
defer log.Println("Client for vision geometry disconnected")
3738

39+
var lastPacket *SSL_GeometryData
3840
for {
3941
packet := GeometryProvider()
40-
if err := common.SendProtoMessage(conn, packet); err != nil {
41-
log.Println(err)
42-
return
42+
if lastPacket == nil || !proto.Equal(packet, lastPacket) {
43+
if err := common.SendProtoMessage(conn, packet); err != nil {
44+
log.Println(err)
45+
return
46+
}
47+
lastPacket = packet
4348
}
4449

4550
time.Sleep(publishDt)

0 commit comments

Comments
 (0)