Enforcer is the functionality provided by grpc.ClientConn to enter and exit from idle mode.
type Enforcer interface { ExitIdleMode() error EnterIdleMode() }
Manager implements idleness detection and calls the configured Enforcer to enter/exit idle mode when appropriate. Must be created by NewManager.
type Manager struct {
// contains filtered or unexported fields
}
func NewManager(enforcer Enforcer, timeout time.Duration) *Manager
NewManager creates a new idleness manager implementation for the given idle timeout. It begins in idle mode.
func (m *Manager) Close()
func (m *Manager) EnterIdleModeForTesting()
func (m *Manager) ExitIdleMode() error
ExitIdleMode instructs m to call the enforcer's ExitIdleMode and update m's internal state.
func (m *Manager) OnCallBegin() error
OnCallBegin is invoked at the start of every RPC.
func (m *Manager) OnCallEnd()
OnCallEnd is invoked at the end of every RPC.