type Status … type BasicStatus … func getProgressCopy(r *raft) map[uint64]tracker.Progress { … } func getBasicStatus(r *raft) BasicStatus { … } // getStatus gets a copy of the current raft status. func getStatus(r *raft) Status { … } // MarshalJSON translates the raft status into JSON. // TODO: try to simplify this by introducing ID type into raft func (s Status) MarshalJSON() ([]byte, error) { … } func (s Status) String() string { … }