From 2e4bbf7b9103c9d4676ab49735265d8b6b3b18af Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 12 May 2019 12:32:29 -0700 Subject: [PATCH] actually sends the protobuf into the channel Signed-off-by: Jeff Carr --- channel.go => eventChannel.go | 24 ++++++++++++++++++++---- gorilla.go | 7 ++++--- infoTabUI.go | 19 ++++++++++++++++++- 3 files changed, 42 insertions(+), 8 deletions(-) rename channel.go => eventChannel.go (82%) diff --git a/channel.go b/eventChannel.go similarity index 82% rename from channel.go rename to eventChannel.go index ba1f08b..89a91ac 100644 --- a/channel.go +++ b/eventChannel.go @@ -52,10 +52,8 @@ func handleProtoClient(conn net.Conn) { mychannel <- pdata } -func addEvent() { - msg := pb.CreateSampleEvent() - msg.Name = "generated in addEvent()" - +// Marshal & Unmarshal just to see if it ever fails +func addEvent(msg *pb.Event) { data, err := proto.Marshal(msg) if (err != nil) { log.Printf("addEvent() something fucked up happened in Marshal") @@ -70,6 +68,24 @@ func addEvent() { mychannel <- pdata } +func addSampleEvent() { + msg := pb.CreateSampleEvent() + msg.Name = "generated in addSampleEvent()" + + data, err := proto.Marshal(msg) + if (err != nil) { + log.Printf("addSampleEvent() something fucked up happened in Marshal") + } + + pdata := new(pb.Event) + err = proto.Unmarshal(data, pdata) + if (err != nil) { + log.Printf("addSampleEvent() something fucked up happened in Unmarshal") + } + + mychannel <- pdata +} + func sendEventToWIT() { msg := pb.CreateSampleEvent() diff --git a/gorilla.go b/gorilla.go index f80e23d..1c4d85f 100644 --- a/gorilla.go +++ b/gorilla.go @@ -26,12 +26,13 @@ func readGorillaConn(conn *websocket.Conn) { return } if (mytype == websocket.BinaryMessage) { - pdata := new(pb.Event) - err = proto.Unmarshal(message, pdata) + protobufMsg := new(pb.Event) + err = proto.Unmarshal(message, protobufMsg) if (err != nil) { log.Printf("readConn() something fucked up happened in Unmarshal") } - log.Printf("recv binary: %s", pdata) + log.Printf("readGorillaConn() successfully read protobuf from gorilla websocket") + addEvent(protobufMsg) } else { log.Printf("recv: %s", message) // log.Printf("type, err = ", mytype, err) diff --git a/infoTabUI.go b/infoTabUI.go index 6252cd3..d8b756f 100644 --- a/infoTabUI.go +++ b/infoTabUI.go @@ -61,7 +61,7 @@ func makeCloudInfoBox() ui.Control { add3button := ui.NewButton("Add buf to chann") add3button.OnClicked(func(*ui.Button) { log.Println("add protobuf event to the channel") - addEvent() + addSampleEvent() }) vbox.Append(add3button, false) @@ -170,3 +170,20 @@ func addTableTab() { time.Sleep(1 * 1000 * 1000 * 1000) gui.AddTableTab(cloudtab, 1, "test seven", 7, parts) } + +func addProtobufTab() { + var parts []gui.InputData + + for key, foo := range []string{"BG", "TEXTCOLOR", "BUTTON", "TEXTCOLOR", "TEXTCOLOR", "TEXT", "BUTTON", "TEXT", "BUTTON"} { + log.Println(key, foo) + + var b gui.InputData + b.CellType = foo + b.Heading = fmt.Sprintf("heading%d", key) + parts = append(parts, b) + } + + log.Println("Sleep for 2 seconds, then try to add new tabs") + time.Sleep(1 * 1000 * 1000 * 1000) + gui.AddTableTab(cloudtab, 1, "test seven", 7, parts) +}