type failureType … type peerStatus … func newPeerStatus(lg *zap.Logger, local, id types.ID) *peerStatus { … } func (s *peerStatus) activate() { … } func (s *peerStatus) deactivate(failure failureType, reason string) { … } func (s *peerStatus) isActive() bool { … } func (s *peerStatus) activeSince() time.Time { … }