fixed wrong message size
This commit is contained in:
10
main.go
10
main.go
@@ -64,7 +64,7 @@ func (daemon *LedDaemon) receive() {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
if length > 0 {
|
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)
|
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() {
|
func main() {
|
||||||
killSignals := make(chan os.Signal, 1)
|
killSignals := make(chan os.Signal, 1)
|
||||||
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
|
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
|
||||||
@@ -143,7 +149,7 @@ func main() {
|
|||||||
data, err := proto.Marshal(wrapperMsg)
|
data, err := proto.Marshal(wrapperMsg)
|
||||||
check(err)
|
check(err)
|
||||||
|
|
||||||
ledDaemon.data <- data
|
ledDaemon.data <- prepareProtobuf(data)
|
||||||
|
|
||||||
<-killSignals
|
<-killSignals
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user