// Encode func (e *Encoder) Encode(m raftpb.Message) error { var buf [4]byte b := buf[:4] s := m.Size() if s == 0 { return ErrEmptyMessage } binary.BigEndian.PutUint32(b, uint32(s)) e.w.Write(b) e.off += 4 b, err := m.Marshal() if err != nil { return err } e.w.Write(b) e.off += s return nil }