func longestConnected(tp rafthttp.Transporter, membs []types.ID) (types.ID, bool) {
	var longest types.ID
	var oldest time.Time
	for _, id := range membs {
		tm := tp.ActiveSince(id)
		if tm.IsZero() { // inactive
			continue
		}

		if oldest.IsZero() { // first longest candidate
			oldest = tm
			longest = id
		}

		if tm.Before(oldest) {
			oldest = tm
			longest = id
		}
	}
	if uint64(longest) == 0 {
		return longest, false
	}
	return longest, true
}
func longestConnected(tp rafthttp.Transporter, membs []types.ID) (types.ID, bool) {
	var longest types.ID
	var oldest time.Time
	for _, id := range membs {
		tm := tp.ActiveSince(id)
		if tm.IsZero() { 
			continue
		}

		if oldest.IsZero() { 
			oldest = tm
			longest = id
		}

		if tm.Before(oldest) {
			oldest = tm
			longest = id
		}
	}
	if uint64(longest) == 0 {
		return longest, false
	}
	return longest, true
}
func longestConnected ( tp rafthttp . Transporter , membs [ ] types . ID ) ( types . ID , bool ) { var longest types . ID var oldest time . Time for _ , id := range membs { tm := tp . ActiveSince ( id ) if tm . IsZero ( ) { // inactive continue } if oldest . IsZero ( ) { // first longest candidate oldest = tm longest = id } if tm . Before ( oldest ) { oldest = tm longest = id } } if uint64 ( longest ) == 0 { return longest , false } return longest , true }
// longestConnected chooses the member with longest active-since-time.
// It returns false, if nothing is active.
longestConnected chooses the member with longest active - since - time . It returns false if nothing is active .