Beispiel #1
0
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))
}
Beispiel #2
0
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)
}