Documentation
¶
Overview ¶
Package idle contains a component for managing idleness (entering and exiting) based on RPC activity.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientConn ¶ added in v1.78.0
type ClientConn interface {
ExitIdleMode()
EnterIdleMode()
}
ClientConn is the functionality provided by grpc.ClientConn to enter and exit from idle mode.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager implements idleness detection and calls the ClientConn to enter/exit idle mode when appropriate. Must be created by NewManager.
func NewManager ¶
func NewManager(cc ClientConn, timeout time.Duration) *Manager
NewManager creates a new idleness manager implementation for the given idle timeout. It begins in idle mode.
func (*Manager) Close ¶
func (m *Manager) Close()
Close stops the timer associated with the Manager, if it exists.
func (*Manager) EnterIdleModeForTesting ¶ added in v1.60.0
func (m *Manager) EnterIdleModeForTesting()
EnterIdleModeForTesting instructs the channel to enter idle mode.
func (*Manager) ExitIdleMode ¶ added in v1.60.0
func (m *Manager) ExitIdleMode()
ExitIdleMode instructs m to call the ClientConn's ExitIdleMode and update its internal state.
func (*Manager) OnCallBegin ¶
func (m *Manager) OnCallBegin()
OnCallBegin is invoked at the start of every RPC.
func (*Manager) OnCallEnd ¶
func (m *Manager) OnCallEnd()
OnCallEnd is invoked at the end of every RPC.
func (*Manager) UnsafeSetNotIdle ¶ added in v1.78.0
func (m *Manager) UnsafeSetNotIdle()
UnsafeSetNotIdle instructs the Manager to update its internal state to reflect the reality that the channel is no longer in IDLE mode.
N.B. This method is intended only for internal use by the gRPC client when it exits IDLE mode **manually** from `Dial`. The callsite must ensure:
- The channel was **actually in IDLE mode** immediately prior to the call.
- There is **no concurrent activity** that could cause the channel to exit IDLE mode *naturally* at the same time.