fixed wrong message size
This commit is contained in:
10
main.go
10
main.go
@@ -64,7 +64,7 @@ func (daemon *LedDaemon) receive() {
|
||||
break
|
||||
}
|
||||
if length > 0 {
|
||||
msgLen := binary.BigEndian.Uint32(message[0:3])
|
||||
msgLen := binary.BigEndian.Uint32(message[0:4])
|
||||
|
||||
log.Debugf("[%s] Read %d bytes, first protobuf is %d long", daemon.name, length, msgLen)
|
||||
|
||||
@@ -97,6 +97,12 @@ func (daemon *LedDaemon) send() {
|
||||
}
|
||||
}
|
||||
|
||||
func prepareProtobuf(data []byte) []byte {
|
||||
size := make([]byte, 4)
|
||||
binary.BigEndian.PutUint32(size, uint32(len(data)))
|
||||
return append(size, data...)
|
||||
}
|
||||
|
||||
func main() {
|
||||
killSignals := make(chan os.Signal, 1)
|
||||
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
|
||||
@@ -143,7 +149,7 @@ func main() {
|
||||
data, err := proto.Marshal(wrapperMsg)
|
||||
check(err)
|
||||
|
||||
ledDaemon.data <- data
|
||||
ledDaemon.data <- prepareProtobuf(data)
|
||||
|
||||
<-killSignals
|
||||
}
|
||||
|
Reference in New Issue
Block a user