func genDataFromGenFile(ctx context.Context, genFile *bufio.Reader, evStore evstore.Connection) { chanInput := make(chan string, 1) for { s, _, err := genFile.ReadLine() if err == io.EOF { log.Println("EOF") break } if err != nil { log.Panicln(err) } go genData(ctx, string(s), chanInput) } log.Println("Waiting for Ctrl-C") Loop: for { select { case <-ctx.Done(): break Loop case msg := <-chanInput: log.Println(msg) evStore.Committer().SubmitEvent("", "scalar", msg) } } }
func send2EventStore(r *bufio.Reader, evStore evstore.Connection) { for { s, _, err := r.ReadLine() if err == io.EOF { break } if err != nil { return } fmt.Println(string(s)) err = evStore.Committer().SubmitEvent("", "scalar", string(s)) if err != nil { log.Println(err) } } return }
func handleClientRequest(ctx context.Context, c Connector, e evstore.Connection) { var ev map[string]interface{} fromWS, toWS, doneCh := c.GetChannels() Loop: for { select { case <-ctx.Done(): case <-doneCh: break Loop case msg := <-fromWS: response := wsock.MessageT{"reply": "ok"} seqid := "" if val, ok := (*msg)["sequenceid"].(string); ok { seqid = val } tag := "" if val, ok := (*msg)["tag"].(string); ok { tag = val } else { response["reply"] = "ERROR" response["msg"] = "No tag" } if val, ok := (*msg)["event"].(map[string]interface{}); ok { ev = val } else { response["reply"] = "ERROR" response["msg"] = "No event" } if response["reply"] == "ok" { err := e.Committer().SubmitMapStringEvent(seqid, tag, ev) if err != nil { response["reply"] = "ERROR" response["msg"] = "Submit to eventstore failed" } } toWS <- &response break case <-time.After(time.Millisecond * 10): break } } }