func recvLogs(c *conn.Conn, d *connData) (step, error) { var buf [8]byte binary.BigEndian.PutUint64(buf[:], d.n.lastSeen) _, err := c.Write(buf[:]) if err != nil { return nil, err } if err = c.SendSig(); err != nil { return nil, err } d.n.lastSeen = uint64(time.Now().UnixNano()) if err = gob.NewDecoder(c).Decode(&d.r); err != nil { return nil, err } for i := range d.r { d.r[i].nodeId = d.n.id } return sendJobs, c.CheckSig() }
func sendJobs(c *conn.Conn, d *connData) (step, error) { if err := gob.NewEncoder(c).Encode(d.n.jobs); err != nil { return nil, err } return recvBye, c.SendSig() }