Use pool config.

This commit is contained in:
Jay
2026-04-16 18:41:19 -04:00
parent 81aa73e8e0
commit ff58207779
2 changed files with 14 additions and 12 deletions

10
pool.go
View File

@@ -62,7 +62,7 @@ type pool struct {
errors chan error errors chan error
done chan struct{} done chan struct{}
config *ConnectionConfig config *PoolConfig
logger *slog.Logger logger *slog.Logger
mu sync.RWMutex mu sync.RWMutex
@@ -131,12 +131,12 @@ type OutboundPool struct {
dialer Dialer dialer Dialer
} }
func NewOutboundPool(config *ConnectionConfig, logger *slog.Logger) (*OutboundPool, error) { func NewOutboundPool(config *PoolConfig, logger *slog.Logger) (*OutboundPool, error) {
if config == nil { if config == nil {
config = GetDefaultConnectionConfig() config = GetDefaultPoolConfig()
} }
if err := validateConnectionConfig(config); err != nil { if err := validatePoolConfig(config); err != nil {
return nil, err return nil, err
} }
@@ -200,7 +200,7 @@ func (p *OutboundPool) Connect(url string) error {
if p.logger != nil { if p.logger != nil {
logger = p.logger.With("url", url) logger = p.logger.With("url", url)
} }
conn, err := NewConnection(url, p.config, logger) conn, err := NewConnection(url, p.config.ConnectionConfig, logger)
if err != nil { if err != nil {
return err return err
} }

View File

@@ -68,13 +68,15 @@ func TestPoolConnect(t *testing.T) {
}) })
t.Run("fails to add connection", func(t *testing.T) { t.Run("fails to add connection", func(t *testing.T) {
pool, err := NewOutboundPool(&ConnectionConfig{ pool, err := NewOutboundPool(
Retry: &RetryConfig{ &PoolConfig{
MaxRetries: 1, ConnectionConfig: &ConnectionConfig{
InitialDelay: 1 * time.Millisecond, Retry: &RetryConfig{
MaxDelay: 5 * time.Millisecond, MaxRetries: 1,
}, InitialDelay: 1 * time.Millisecond,
}, nil) MaxDelay: 5 * time.Millisecond,
}},
}, nil)
assert.NoError(t, err) assert.NoError(t, err)
pool.dialer = &MockDialer{ pool.dialer = &MockDialer{
DialFunc: func(string, http.Header) (Socket, *http.Response, error) { DialFunc: func(string, http.Header) (Socket, *http.Response, error) {