func (s *glimpseServer) handleClient(conn net.Conn) { defer conn.Close() m, err := sbtcp.ReadMessage(conn) errs.CheckE(err) log.Printf("got %#v\n", m) lr := m.(*sbtcp.MessageLoginRequest) errs.Check(lr != nil) la := sbtcp.MessageLoginAccepted{ Session: "00TestSess", SequenceNumber: 1, } errs.CheckE(sbtcp.WriteMessage(conn, &la)) log.Printf("glimpse send: %v\n", la) for i := 0; i < s.snapshotSeqNum; i++ { s.sendSeqData(conn, generateIttoMessage(i)) } snap := fmt.Sprintf("M%020d", s.snapshotSeqNum) s.sendSeqData(conn, []byte(snap)) }
func (s *glimpseServer) sendSeqData(conn net.Conn, data []byte) { sd := sbtcp.MessageSequencedData{} sd.SetPayload(data) errs.CheckE(sbtcp.WriteMessage(conn, &sd)) log.Printf("glimpse send: %v\n", sd) }