70 lines
1.4 KiB
Go
70 lines
1.4 KiB
Go
package main
|
|
|
|
import "fmt"
|
|
import "log"
|
|
import "net"
|
|
import "os"
|
|
import "io"
|
|
import "bytes"
|
|
|
|
import "github.com/golang/protobuf/proto"
|
|
import pb "git.wit.com/jcarr/witProtobuf"
|
|
|
|
var mychannel chan *pb.Event
|
|
|
|
func initChannel() {
|
|
mychannel = make(chan *pb.Event)
|
|
}
|
|
|
|
// func processEvents(mychannel chan *pb.Event) {
|
|
func processEvents() {
|
|
for {
|
|
message := <-mychannel
|
|
log.Println("processEvents() on channel recieved a message")
|
|
ReadReceivedData(message)
|
|
}
|
|
}
|
|
|
|
func ReadReceivedData(data *pb.Event) {
|
|
msgItems := data.GetResults()
|
|
fmt.Println("Receiving data...")
|
|
for _, item := range msgItems {
|
|
fmt.Println(item)
|
|
}
|
|
}
|
|
|
|
func handleProtoClient(conn net.Conn) {
|
|
fmt.Println("Connected!")
|
|
defer conn.Close()
|
|
var buf bytes.Buffer
|
|
_, err := io.Copy(&buf, conn)
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
|
|
return
|
|
}
|
|
pdata := new(pb.Event)
|
|
err = proto.Unmarshal(buf.Bytes(), pdata)
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
|
|
return
|
|
}
|
|
mychannel <- pdata
|
|
}
|
|
|
|
func addEvent() {
|
|
msg := new(pb.Event)
|
|
msg.Name = "hello jeff"
|
|
|
|
// var mybuf bytes.Buffer
|
|
|
|
data, err := proto.Marshal(msg)
|
|
if (err != nil) {
|
|
log.Printf("something fucked up happened")
|
|
}
|
|
pdata := new(pb.Event)
|
|
// err = proto.Unmarshal(data.Bytes(), pdata)
|
|
err = proto.Unmarshal(data, pdata)
|
|
mychannel <- pdata
|
|
// sendDataToDest(data)
|
|
}
|