Documentation
¶
Index ¶
- type Manager
- func (m *Manager) Close() error
- func (m *Manager) GetCheckPool() NNTPClient
- func (m *Manager) GetMetrics() (nntppool.ClientStats, error)
- func (m *Manager) GetPool() NNTPClient
- func (m *Manager) GetUploadPool() NNTPClient
- func (m *Manager) GetVerifyPool() NNTPClient
- func (m *Manager) IsClosed() bool
- func (m *Manager) UpdateConfig(newCfg *config.ConfigData) error
- type NNTPClient
- type PoolManager
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 manages NNTP connection pools throughout the application lifecycle, enabling proper metrics accumulation. Use dependency injection to pass this around. Supports separate pools for posting (upload) and article verification (verify).
func New ¶
func New(cfg *config.ConfigData) (*Manager, error)
New creates a new connection pool manager with the given configuration. Creates separate pools for upload and verification.
func (*Manager) Close ¶
Close gracefully shuts down the connection pool manager. This should be called during application shutdown.
func (*Manager) GetCheckPool ¶ added in v0.0.29
func (m *Manager) GetCheckPool() NNTPClient
GetCheckPool is a deprecated alias for GetVerifyPool.
func (*Manager) GetMetrics ¶
func (m *Manager) GetMetrics() (nntppool.ClientStats, error)
GetMetrics returns the current metrics from the connection pool.
func (*Manager) GetPool ¶
func (m *Manager) GetPool() NNTPClient
GetPool is a deprecated alias for GetUploadPool.
func (*Manager) GetUploadPool ¶ added in v0.0.29
func (m *Manager) GetUploadPool() NNTPClient
GetUploadPool returns the NNTP connection pool for posting articles.
func (*Manager) GetVerifyPool ¶ added in v0.0.29
func (m *Manager) GetVerifyPool() NNTPClient
GetVerifyPool returns the NNTP connection pool for article verification. Returns verify-role servers if configured, otherwise falls back to upload pool.
func (*Manager) UpdateConfig ¶
func (m *Manager) UpdateConfig(newCfg *config.ConfigData) error
UpdateConfig updates the connection pools with a new configuration. Uses AddProvider/RemoveProvider for incremental updates instead of destroying pools.
type NNTPClient ¶ added in v0.0.29
type NNTPClient interface {
PostYenc(ctx context.Context, headers nntppool.PostHeaders, body io.Reader, meta rapidyenc.Meta) (*nntppool.PostResult, error)
Stat(ctx context.Context, messageID string) (*nntppool.StatResult, error)
Stats() nntppool.ClientStats
AddProvider(p nntppool.Provider) error
RemoveProvider(name string) error
Close() error
}
NNTPClient defines the interface for NNTP connection pool operations. This wraps *nntppool.Client to enable testing with mocks.
type PoolManager ¶ added in v0.0.29
type PoolManager interface {
GetUploadPool() NNTPClient
GetVerifyPool() NNTPClient
GetPool() NNTPClient // Deprecated: use GetUploadPool
GetCheckPool() NNTPClient // Deprecated: use GetVerifyPool
}
PoolManager defines the interface for connection pool management. This interface is implemented by Manager and can be mocked for testing.