func()

in grpcgcp/multiendpoint/multiendpoint.go [258:280]


func (me *multiEndpoint) setEndpointAvailability(e string, avail bool) {
	ee, ok := me.endpoints[e]
	if !ok {
		return
	}

	if avail {
		setState(ee, available)
		return
	}

	if ee.status != available {
		return
	}

	if me.recoveryTimeout == 0 {
		setState(ee, unavailable)
		return
	}

	setState(ee, recovering)
	me.scheduleUnavailable(ee)
}