Documentation
¶
Overview ¶
Package signal provides a clean signal management foundation for the Hector server. It supports registering callbacks for reload (SIGHUP) and shutdown (SIGINT/SIGTERM) signals.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager provides lifecycle management for OS signals. It listens for signals and invokes registered callbacks.
func New ¶
New creates a new signal Manager. The provided parent context is used for lifecycle management.
func (*Manager) OnReload ¶
func (m *Manager) OnReload(fn func())
OnReload registers a callback to be invoked when SIGHUP is received. Multiple callbacks can be registered; they are called in registration order.
func (*Manager) OnShutdown ¶
func (m *Manager) OnShutdown(fn func())
OnShutdown registers a callback to be invoked when SIGINT or SIGTERM is received. Multiple callbacks can be registered; they are called in registration order.
func (*Manager) Start ¶
Start begins listening for signals in a background goroutine. Returns a context that will be cancelled on shutdown signals. This method is idempotent; subsequent calls return the same context.
func (*Manager) Stop ¶
func (m *Manager) Stop()
Stop cancels the manager's context and stops signal handling.
func (*Manager) TriggerReload ¶
func (m *Manager) TriggerReload()
TriggerReload manually triggers the reload process.